路線詳解:限制與帳戶類型
MeDo 支援的 iOS 路線參考資料——裝置與測試者限制、免費 Apple ID 能做與不能做的事、簽署資產,以及 Apple 的私人發佈選項。
這是 iOS:把你的應用程式裝到 iPhone 上背後的詳細參考資料。如果你只想把應用程式裝到手機上,請先從那裡開始;需要確切限制數字時再回來這裡。
按受眾選擇,而非只看成本
正確的路線取決於誰需要這個應用程式、需要多久,以及對象是否事先已知。用於開發的建置並不是持久的正式發佈方式。
MeDo 支援的打包路線
每次 iOS 打包工作消耗 500 積分。如果你在工作排隊期間取消,或打包失敗,MeDo 會退回積分。
本機偵錯(Local Debug)
在你自己控制的裝置上進行 UI 檢查、功能驗證和早期原型時,使用本機偵錯。
- 無需 Apple Developer Program 會籍。
- 免費的 Personal Team 最多支援 10 個短期 App ID、3 部裝置,以及每部裝置 3 個已安裝的應用程式。
- App ID、裝置註冊和佈建描述檔會在 7 天後過期;過期後需重新建置並重新安裝。
- 此路線無法發佈到 TestFlight 或 App Store。
- 部分應用程式服務和權限(entitlements)需要付費會籍。
- 如果 MeDo 只提供未簽署的 IPA,請在本機用 Sideloadly 或 AltStore Classic 搭配 AltServer 簽署並安裝。如果你能開啟 iOS 專案,優先使用 Xcode Personal Team。
參閱在自己的 iPhone 上測試(Local debugging)。
Ad Hoc
在已知裝置清單上進行受控測試、示範或驗收測試時,使用 Ad Hoc。
- 需要 Apple Developer Program 會籍。
- 需要明確的 App ID、Apple Distribution 證書、佈建描述檔,以及已註冊的裝置 ID。
- Apple 允許每個會籍年度、每個產品系列最多註冊 100 部裝置。停用裝置不會釋放名額,直到會籍年度重設為止。
- 新增裝置或更改應用程式服務,需要新的佈建描述檔和重新簽署的套件。
- 沒有 TestFlight Beta App Review,但此路線不適合未知或大量的受眾。
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 會更改功能的可用性。請以官方支援功能一覽表作為你所使用的 App ID 和會籍的權威來源。
簽署資產
付費路線要能運作,以下識別碼必須一致:
- MeDo 專案和上載的二進位檔中的 Bundle ID
- Certificates, Identifiers & Profiles 中的明確 App ID
- 用於 TestFlight 或 App Store 發佈的 App Store Connect 應用程式記錄
- 包含正確 App ID、權限、證書,以及(僅 Ad Hoc)允許裝置的佈建描述檔
App Store Connect API 私密金鑰和簽署資產只應交給受信任的管理員。.p8 私密金鑰只能下載一次。如果金鑰外洩或不再需要,請立即撤銷。
正式發佈的替代方案
Ad Hoc 和免費佈建不應作為永久的發佈機制。
- Unlisted App——提交一個可供審核的應用程式並申請不公開發佈。應用程式由 App Store 交付,但只能透過直接連結找到。
- Custom App——在首次批准之前選擇私人發佈,並指定來自 Apple Business Manager 或 Apple School Manager 的組織 ID。
- Enterprise 發佈——只限符合資格的組織,僅向自己的員工發佈專有應用程式。它不能作為一般客戶發佈的替代方案。
路線檢查清單
打包前請確認:
- Bundle ID 已確定且保持一致。
- 目標路線符合預期受眾和安裝有效期。
- App ID 已啟用所需的權限。
- 私隱權限說明已填寫,且如實說明實際用途。
- 帳戶持有人已接受最新的 Apple 協議。
- Ad Hoc 路線:每個目標 UDID 都已在建置前註冊。
- TestFlight/App Store 路線:App Store Connect 應用程式記錄已存在,且 Bundle ID 相符。