出海帳號、上架與投放問題,Telegram 直接問@gooacc
應用發布約 3 分鐘讀完

蘋果上架要用的證書和描述文件

蘋果上架時的簽名報錯,多半是三樣東西沒對上:證書、App ID、描述文件。先分清它們,再決定用自動簽名還是手動簽名。

01三樣東西各管什麼

文件作用上架時用哪一個
證書證明這個包是你的開發者帳號籤的發給 App Store 用 Distribution(發布)證書
App ID應用的唯一標識,後綴就是 Bundle ID和 Xcode、App Store Connect 裡的包名必須相同
描述文件把證書、App ID 和分發方式綁在一起上架用 App Store 類型,不是 Ad Hoc

Bundle ID 一旦用於上架就不要改。推送、登錄、內購等能力開在這個 App ID 上,和第三方 SDK 也綁在這個包名上。

02開發和發布不要混用

  • 開發證書:裝到自己的測試設備上調試,不能拿去提交 App Store。
  • 發布證書:用來歸檔並上傳。用它打出來的包不能直接裝到手機上,這是正常的。
  • Ad Hoc 描述文件:裝給最多 100 臺登記過 UDID 的設備,用來小範圍測試,不是上架通道。
  • 企業描述文件屬於 Enterprise 計劃,不能用來把應用公開裝到任意用戶手機上。

證書一般一年到期。到期後已上架的應用不會立刻從商店消失,但你無法再上傳新構建,直到換發證書並重新簽名。

03推薦路徑:讓 Xcode 管簽名

  1. Xcode 登錄付費開發者帳號。
  2. 目標選 Automatically manage signing,Team 選對。
  3. Bundle ID 與 App Store Connect 裡創建應用時的一致。
  4. 需要的能力在 Signing & Capabilities 裡打開,保存後 Xcode 會更新描述文件。
  5. 選 Any iOS Device,Product → Archive,再用 Organizer 或 Transporter 上傳。

團隊裡不要每人各做一套證書。一個人開啟自動簽名,其他人用同一團隊帳號拉取即可。

04必須手動做時

在 Mac 的鑰匙串訪問裡生成證書請求(CSR),把 CSR 上傳到開發者網站換取證書。私鑰留在這臺 Mac 上,不要把私鑰交給網站或聊天記錄。

  • 先建 App ID,再選發布證書,再生成 App Store 描述文件。
  • 打包工具裡同時選中發布證書和對應的描述文件。
  • 報錯先看三處包名是否一致,再看證書有沒有過期、描述文件是不是 Development。

問常見問題

沒有 Mac 能做發布證書嗎?

CSR 和私鑰應在你自己控制的電腦上生成。借用雲端 Mac 可以,但不要把私鑰上傳到來路不明的在線生成網站。

自動簽名和手動簽名能一起開嗎?

同一個目標不要混用。自動簽名開啟時,再手動指定另一份描述文件,很容易籤到錯誤的包。

換了證書,用戶要重裝嗎?

同一團隊、同一 Bundle ID 下更新證書,商店裡的用戶收到的是正常更新,不用卸載。

所屬專題:iOS 開發者 App 上架

需要落地協助?

帳號、上架、投放的具體情況各不相同,把你的情況發給我們,一起看怎麼做最穩。

@gooacc