2015-03-03 246 views
4

證書過期後我開始出現密碼錯誤。我有一個更新的證書,已過期的證書已被刪除。但不知何故,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中這樣: enter image description here

當我檢查的鑰匙圈,找到正確的身份:

$ 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設置這個環境變量的位置,我可以清理它,一切都應該再好。

回答

1

我有同樣的問題,我的答案是相當簡單的獲得:我試圖使用被捆綁在老證書供應配置文件(我的猜測是EXPANDED_CODE_SIGN_IDENTITY是從您嘗試使用的配置文件中提取的)。

無論如何,在與新證書綁定的開發中心上創建新配置文件之後,停止發生這種情況。

+0

由於沒有任何可以找到的記錄,我相信你是正確的。我在文本編輯器中打開了配置文件,發現有兩個對開發人員證書的引用。我複製每個文本,基地64解碼他們,然後發送他們作爲輸入openssl。一個與「壞」證書具有相同的SHA-1,另一個與「好」證書匹配。我不確定爲什麼Xcode選擇了壞的,但原來的問題已經得到解答。 – 2015-03-12 23:56:40

0

,如果有幫助,我使用詹金斯打造的應用程序,使所有命令從控制檯運行... 所以我關閉CODE_SIGNING_ALLOWED和「overrided」 EXPANDED_CODE_SIGN_IDENTITY_NAME和EXPANDED_CODE_SIGN_IDENTITY。出於某種原因,它幫助我以適當的身份構建應用程序。

xcodebuild -project my.xcodeproj/ -sdk iphoneos \ 
CODE_SIGNING_REQUIRED=YES \ 
CODE_SIGNING_ALLOWED=NO \ 
CODE_SIGN_IDENTITY="My Identity" \ 
EXPANDED_CODE_SIGN_IDENTITY_NAME="My Identity" \ 
EXPANDED_CODE_SIGN_IDENTITY=<CODE_SIGN_IDENTITY> 

最後一個可以用

security find-certificate -a -c "My Identity" -Z|grep ^SHA-1|cut -d " " -f3|uniq 
+0

我們在構建服務器上使用jenkins,並且它在代碼簽名方面似乎很好。我相信那是因爲它有一個手動配置,而Xcode是自動執行的。 – 2015-03-03 19:56:36

+0

那麼,因爲我們的項目是Unity項目,所以xcproject文件是由Unity生成的。 – 2015-03-04 10:12:10

+0

當我的證書過期並且必須使用其他證書時,我遇到了此問題。這個訣竅幫助我強制xcodebuil使用合適的codeign步驟。 – 2015-03-04 10:20:43