選擇正確的程式碼簽名方法

如果你剛剛開始一個新專案,那麼考慮如何處理程式碼簽名非常重要。

如果你不熟悉程式碼簽名,請檢視描述 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 計算機。這種方法是安全的, 並使用你已經使用的技術。

匹配入門要求你撤銷現有證書。