選擇正確的程式碼簽名方法
如果你剛剛開始一個新專案,那麼考慮如何處理程式碼簽名非常重要。
如果你不熟悉程式碼簽名,請檢視描述 Xcode 程式碼簽名基礎知識的 WWDC 會話 。
要對你的應用進行正確的程式碼簽名,你必須在本地計算機上擁有以下資源:
- 私鑰(
.p12檔案) - 證書(
.cer檔案),與私鑰匹配 - 配置檔案(
.mobileprovision檔案),與本地安裝的證書和私鑰相匹配
在 Apple Developer Portal 上,還需要具有與你的配置檔案關聯的有效 App ID。
使用 Xcode 的程式碼簽名功能
有時,作為配置檔案的 Automatic 設定無法可靠地工作,因為它只會選擇最近更新的配置檔案,無論是否安裝了證書。
這就是為什麼建議以某種方式指定特定的配置檔案:
Xcode 7 及更低版本
你應該避免點選 Fix Issue 按鈕(有一個禁用按鈕的 Xcode 外掛 ),因為它有時會撤銷現有的證書,並隨之撤銷配置檔案。
遺憾的是,你無法在 Xcode 7 中指定配置檔案的名稱。你可以指定配置檔案的 UUID,每次重新生成配置檔案時都會更改(例如,當你新增新裝置時)。
要解決此問題,請檢視 XcodeProject.md ,瞭解在構建應用程式時如何將配置檔案傳遞給 Xcode。
Xcode 8 及以上
隨著 Xcode 8 的釋出,Apple 改進了程式碼簽名,以下內容發生了變化:
- 不再使用
Fix Issue按鈕,而是所有程式碼簽名程序在後臺執行並在 Xcode 中顯示正確的日誌 - 你現在可以按名稱而不是 UUID 指定配置檔案( 有關更多資訊,請檢視 XcodeProject.md )
- 出現問題時改進錯誤訊息。如果你遇到程式碼簽名錯誤,你應該嘗試使用 Xcode 構建和簽名以獲取更詳細的錯誤資訊。 (檢視 Troubleshooting.md 以獲取更多資訊)
手動
你始終可以使用 Apple Developer Portal 手動建立和管理證書和配置檔案。確保將證書的私鑰(.p12)存放在安全的地方,因為如果丟失證書,則無法恢復。
你始終可以從 Apple Developer Portal 下載證書(.cer)和配置檔案(.mobileprovision)。
如果你撤銷證書或證書過期,則所有關聯的配置檔案都將無效。
使用 fastlane 匹配
匹配的概念在程式碼簽名指南中描述,如果你使用 fastlane ,則建議使用程式碼簽名方法
通過匹配, 你可以將私鑰和證書儲存在 git 倉庫中,以便跨機器同步它們。這樣可以輕鬆加入新的團隊成員並設定新的 Mac 計算機。這種方法是安全的, 並使用你已經使用的技術。
匹配入門要求你撤銷現有證書。