iOS 打包及分發路線
按受眾選擇,而非只看成本
正確路線取決於誰需要應用、使用多久,以及是否預先知道所有裝置。開發構建不是持久的正式分發方式。
MeDo 支援的打包路線
每次 iOS 打包會消耗 500 Credits。如在排隊期間取消或打包失敗,MeDo 會退回 Credits。
本機調試
適合在自己控制的裝置進行 UI、功能及早期原型驗證。
- 無需 Apple Developer Program 會籍。
- 免費 Personal Team 最多可有 10 個短期 App ID、3 部裝置,以及每部裝置 3 個應用。
- App ID、裝置及簽名描述檔 7 日後到期,之後須重新構建及安裝。
- 不能上載至 TestFlight 或 App Store。
- 部分 Apple 服務及 entitlement 需要付費會籍。
- 如 MeDo 只提供未簽名 IPA,請以 Sideloadly 或 AltStore Classic 配合 AltServer 在本機簽名及安裝。如可開啟 iOS 項目,應優先使用 Xcode Personal Team。
請參閱未簽名 IPA 及本機真機測試。
Ad Hoc
適用於已知裝置的受控測試、演示或驗收。
- 需要 Apple Developer Program 會籍。
- 需要明確 App ID、Apple Distribution 證書、簽名描述檔及已註冊裝置 ID。
- 每個產品類別每個會籍年度最多註冊 100 部裝置;停用裝置不會即時歸還名額。
- 新增裝置或修改 App 服務後,須重新產生描述檔及重新簽名。
- 不需要 TestFlight Beta App Review,但不適合未知或大量受眾。
請參閱 Ad Hoc 分發。
TestFlight / App Store
適合集中管理 Beta 測試及正式提交。
- 需要 Apple Developer Program 會籍及 App Store Connect 應用記錄。
- MeDo 將構建上載至 App Store Connect。
- 內部測試最多 100 名合資格 App Store Connect 用戶。
- 外部測試最多 10,000 人,並可能需要 Beta App Review。
- 每個 TestFlight 構建 90 日後到期。
- 完成元資料及合規資料後,同一構建可提交 App Review。
請參閱 TestFlight / App Store 打包及 App Store 發佈。
免費與付費帳號差異
Apple 會按會籍、App ID 設定及簽名描述檔決定可用功能。不能因程式碼能編譯便假設某項能力可用。
Apple 會調整功能支援,請以官方 iOS 支援功能表為準。
簽名資產
付費路線開始前,下列識別資料必須一致:
- MeDo 項目及二進制檔的 Bundle ID
- Certificates, Identifiers & Profiles 中的明確 App ID
- TestFlight 或 App Store 使用的 App Store Connect 應用記錄
- 包含正確 App ID、entitlement、證書,以及只在 Ad Hoc 情況下包含指定裝置的簽名描述檔
App Store Connect API 私鑰及簽名資產只應供可信管理員使用。.p8 私鑰只能下載一次,如已外洩或不再需要,應立即撤銷。
正式分發替代方案
Ad Hoc 及免費簽名不應用作永久分發方式。
- 不公開列出 App — 提交可審核應用並申請不公開分發;App 由 App Store 交付,但只能以直接連結找到。
- 自訂 App — 在首次批准前選擇私人分發,並指定 Apple Business Manager 或 Apple School Manager 機構 ID。
- 企業分發 — 只供合資格機構向自己的僱員分發專有應用,不可代替一般客戶分發。
路線檢查清單
- Bundle ID 已確定並在各處一致。
- 路線符合受眾及安裝有效期。
- App ID 已啟用所需 entitlement。
- 私隱權限說明準確描述實際用途。
- 帳號持有人已接受最新 Apple 協議。
- Ad Hoc 打包前已註冊所有目標 UDID。
- TestFlight/App Store 的應用記錄已存在,且 Bundle ID 一致。