選擇正確的程式碼簽名方法
如果你剛剛開始一個新專案,那麼考慮如何處理程式碼簽名非常重要。
如果你不熟悉程式碼簽名,請檢視描述 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 計算機。這種方法是安全的, 並使用你已經使用的技術。
匹配入門要求你撤銷現有證書。