證書過期後我開始出現密碼錯誤。我有一個更新的證書,已過期的證書已被刪除。但不知何故,Xcode設置EXPANDED_CODE_SIGN_IDENTITY與過期證書的SHA-1。它在哪裏得到這個價值?我認爲它必須緩存在某個地方,因爲鑰匙串中沒有證書,它正在嘗試用於代碼簽名的SHA-1。我搜索了pbxproj文件,但沒有找到它,從項目根開始的遞歸grep也沒有得到任何結果。Xcode如何設置EXPANDED_CODE_SIGN_IDENTITY?
這裏有一些關於我的配置一些細節:
- 沒有戶口在Xcode 成立
- 而是一個開發者賬戶的,我公司採用從團隊代理
- 的Xcode版本導出的證書是6.1.1
- OSX版本是10.10.2
該項目的身份是建立在Xcode中這樣:
當我檢查的鑰匙圈,找到正確的身份:
$ security find-identity -p code signing
Policy: Code Signing
Matching identities
1) F1326572E0B71C3C8442805230CB4B33B708A2E2 "iPhone Developer: XXX XXX (C395QGL4DK)"
在構建輸出我看到的環境變量設置不正確:
export EXPANDED_CODE_SIGN_IDENTITY=9F5616A53464FC5C003847ED620357A7BC72ABB1
我已經嘗試它與以下內容:
- 刪除證書鑰匙串訪問並重新添加它
- 設置私鑰的訪問控制,讓所有的應用程序
- 刪除所有配置的配置文件,然後重新添加我使用
- 刪除在〜/庫/開發人員的一切一曲/ Xcode中/ DerivedData
- 刪除一切都在〜/圖書館/緩存/ com.apple.dt.Xcode
- 重新啓動的Xcode
- 重新啓動Mac
我現在已經運行OU要嘗試的東西的想法。還有另外兩個開發者與我一起工作,他們兩人最初都遇到過同樣的問題。但是,他們在做了一些我已經嘗試過的相同步驟之後再次開始工作。我們都使用相同的證書,相同的配置文件和相同的項目設置。它必須是我的系統上的設置或緩存,但我一直無法找到它。
如果我能找出Xcode設置這個環境變量的位置,我可以清理它,一切都應該再好。
由於沒有任何可以找到的記錄,我相信你是正確的。我在文本編輯器中打開了配置文件,發現有兩個對開發人員證書的引用。我複製每個文本,基地64解碼他們,然後發送他們作爲輸入openssl。一個與「壞」證書具有相同的SHA-1,另一個與「好」證書匹配。我不確定爲什麼Xcode選擇了壞的,但原來的問題已經得到解答。 – 2015-03-12 23:56:40