專案已經能執行,課程卻要交 IPA;Archive、IPA 和 TestFlight 看起來又很像。
最快解法:在 Xcode 27.1 先建立專案歸檔,再按交付用途從歸檔匯出;簽名、目標裝置和課程要求會影響檔案能否安裝或分發。
適合:正在學 iOS 開發、需要準備課程交付檔案的學生;已能在 Xcode 27.1 執行專案,但第一次使用 Archives Organizer 的初學者。
也適合:暫時沒有本地 Mac、正在判斷是否要準備 Mac 環境的 Windows 學生。
先分清交付物:Archive、IPA 與 TestFlight 不可互換
先看課程要求的是「建置歸檔」、「可交付的 IPA 檔案」,還是「透過 TestFlight 測試」。三者對應不同目的。Apple 的 Xcode 27.1 發布記錄列出該版本;Apple 的歸檔與註冊裝置分發說明則說明如何從 Xcode 歸檔準備 App 分發檔案,其中包括 IPA。
| 交付物 | 它代表什麼 | 適合用在什麼情況 |
|---|---|---|
| Archive | Xcode 保存的建置歸檔,可在 Archives Organizer 檢視和後續處理 | 課程要求歸檔,或還要按不同用途準備分發檔案 |
| IPA | 從歸檔依用途匯出的 App 檔案 | 課程明確要求提交 IPA,或有相符的裝置分發需求 |
| TestFlight 建置版本 | 上傳至 App Store Connect,供測試分發流程使用的建置版本 | 課程或測試安排明確要求 TestFlight |
注意:匯出 IPA 不等於上傳 TestFlight,也不代表任何 iPhone 都能直接安裝。先以課程說明確認交付格式,再選擇 Xcode 的匯出用途。
專案歸檔檢查:能執行,不代表已準備好分發
Archive 可以理解成 Xcode 為後續分發保存的一份建置成果。它不同於在模擬器裡按執行看到的畫面,也不是單純把專案資料夾壓縮起來。Apple 的註冊裝置分發文件說明了在 Xcode 建立歸檔並於 Archives Organizer 管理的流程。
準備歸檔前,先核對以下項目:
- 專案目標:確認選到課程 App 的 target,而不是測試用 target 或其他專案模組。
- 建置目的地:依 Xcode 畫面與分發目的選擇適當目的地。模擬器執行成功,只能證明相應的模擬器建置可執行,不等於已取得可分發的歸檔。
- 建置狀態:先處理目前的建置錯誤;若專案本身無法建置,建立歸檔也不會替你修好程式碼。
- 歸檔是否完成:完成後在 Archives Organizer 找到這次建置,確認選取的是正確專案和版本,再進行匯出。
例如,課程 App 在模擬器上能開啟,只代表這個測試路徑可用。如果要求的是可交付 IPA,還得完成歸檔與符合用途的匯出,不能只提交模擬器執行結果。
匯出用途選擇:依課程目標決定下一步
在 Archives Organizer 選取歸檔後,先確認課程要的是內部測試、指定裝置安裝,還是其他分發用途,再選擇相符的匯出方式。Apple 的分發與匯出說明涵蓋不同的分發情境;不同用途的設定不能當成一套通用步驟。
在 Xcode 27.1 中,請依目前畫面操作:開啟 Archives Organizer、選取正確歸檔,再查看可用的分發或匯出選項。不要只憑舊版教學中的按鈕名稱判斷;實際選項會受分發目的和專案狀態影響。需要 TestFlight 的話,Apple 的建置版本上傳說明列出 App Store Connect 的上傳流程。上傳是另一個步驟,並非 IPA 匯出的同義詞。
決策條件:
- 若課程明確要求提交 IPA,選擇符合交付用途的匯出方式,匯出後核對檔案。
- 若課程要求的是 Xcode 歸檔,先確認交付要求如何取得或提交該歸檔;不要自行以 IPA 代替。
- 若課程指定 TestFlight,依其要求處理上傳與測試分發;單獨匯出 IPA 不會自動完成這段流程。
- 若說明只寫「交 App」而未指定格式,先詢問授課者要專案原始碼、Archive、IPA 還是 TestFlight,避免做完才發現交錯內容。
簽名與裝置條件:匯出成功不保證安裝成功
iOS App 簽名可視為檢查 App 來源與授權條件的一部分;配置檔則會影響這份 App 能用於哪些分發情境。Apple 的程式碼簽名格式說明介紹簽名機制;若採用 Ad Hoc 分發,建立 Ad Hoc 配置檔的官方說明要求依該用途處理已登記的裝置。
Apple 文件列出的 Ad Hoc 裝置上限為每種產品類別 100 部,而且裝置登記與會員年度等規則也會影響可用名額。這是特定分發方式的條件,不代表每個 IPA 都適用同一上限;課程採用其他用途時,應依相應的簽名與分發要求核對。
排查時分開看兩件事:
- 匯出問題:Archives Organizer 是否完成匯出,預定資料夾內是否有 IPA?
- 安裝問題:簽名、配置檔、裝置登記與分發用途是否符合?
若檔案已產生但裝置拒絕安裝,先不要反覆重新建置。比對匯出用途和裝置條件,通常更能定位問題。反過來說,若根本沒有 IPA,應先回到歸檔與匯出步驟檢查。
課程驗收:檔案、裝置測試和提交方式分開確認
交件前,把檔案檢查和安裝驗證分開。前者確認交付物存在且格式符合要求;後者確認該檔案在指定裝置與分發條件下是否能使用。Apple 的 Xcode 系統要求會列出各版本所需的 macOS 條件,準備環境時可查閱官方系統需求列表。
建議按這個順序驗收:
- 回看課程公告,確認要交的是 IPA、Archive、原始專案,還是 TestFlight 測試版本。
- 在 Archives Organizer 確認選取的是課程專案的正確歸檔。
- 完成匯出後檢查輸出位置,確認有 IPA,並依課程規定命名與提交。
- 若要求真機驗證,另行確認裝置、簽名與配置檔符合所選分發方式。
- 若安裝失敗,記錄 Xcode 的匯出結果和裝置提示,先判斷問題出在「沒產生 IPA」還是「產生後無法安裝」。
這樣能避免把「交檔失敗」和「裝置安裝失敗」混成同一個問題,也避免只因 IPA 已存在,就認定課程驗收必然通過。
常見問題 FAQ
IPA 檔案是否可以取代完整 Xcode 專案?
不一定。IPA 是匯出的 App 檔案,通常不包含課程要求檢查的完整原始碼與專案設定。如果授課者要批改程式碼,請依要求提交專案;若只要安裝或分發檔案,才按指定用途準備 IPA。交件前以課程公告為準,不要自行假設其中一種格式能代替另一種。
沒有本地 Mac,還能完成這項交付嗎?
先看課程是否要求必須使用 Xcode 建立歸檔和匯出 IPA。如果只需提交原始碼,可能不必立刻準備 Mac;若明確要求 Xcode 歸檔,就要確認可用環境能執行符合版本需求的 Xcode,並確認檔案如何取回。遠端 Mac 是否合適,還要核對簽名帳號、裝置及課程規定。
IPA 已匯出,但 iPhone 無法安裝,應先檢查什麼?
先確認匯出採用的分發用途,再核對簽名、配置檔和目標裝置是否符合該用途。Ad Hoc 分發會涉及已登記裝置;其他分發方式也有各自條件。把安裝失敗和匯出失敗分開判斷:若 IPA 已存在,先查安裝條件;若沒有檔案,回到歸檔與匯出流程。
課程只要求 IPA 時,還需要上傳 TestFlight 嗎?
除非課程明確要求 TestFlight,否則不要把上傳當成匯出 IPA 的必經步驟。IPA 是按用途匯出的檔案;TestFlight 涉及 App Store Connect 的建置版本上傳及測試分發流程。兩者目的不同。若課程說明含糊,先詢問需要提交的檔案或測試方式,再決定是否處理上傳。
沒有可用 Mac 時:先比對課程要求與環境限制
如果目前只能用 Windows,直接在本機完成 Xcode 歸檔並不符合 Xcode 的 macOS 系統需求;學校電腦也可能限制軟體安裝或帳號權限。虛擬化環境則可能多出相容性與裝置連線要確認的地方,不能把「能開專案」當成「能按課程要求匯出並安裝」。
若課程確實要求 Xcode 匯出 IPA,但手邊沒有可用 Mac,可以先查看 deploymini 的遠端連線方式及方案說明,核對可用的 Xcode 環境、帳號與簽名需求,以及 IPA 的檔案取回流程,再決定是否租用。遠端 Mac 能提供 Mac 環境,但不會自動解決簽名、裝置登記或課程驗收問題;若經常需要本機硬體連接,或長期穩定使用,購置自己的 Mac 也可能更合適。
常見問題
Xcode 27.1 要怎樣把專案匯出成 IPA?
先確認專案可正常建置,並選擇適合的建置目的地建立 archive。完成後到 Archives Organizer 選取該歸檔,再依交付用途選擇匯出方式;最後核對輸出資料夾是否有 IPA,以及簽名和配置檔是否符合預定用途。實際選項名稱請以 Xcode 27.1 畫面為準。
Xcode 的 archive 和 IPA 檔案有什麼不同?
Archive 是 Xcode 保存的專案建置歸檔,可在 Archives Organizer 檢視並用來進一步分發;IPA 則是按指定用途匯出的 App 檔案。兩者不是同一種交付物:若課程要檢查建置紀錄,交 IPA 未必能取代 archive;若要指定安裝或分發檔案,也不能只交 archive。
匯出的 IPA 可以直接安裝到 iPhone 嗎?
不一定。IPA 是否能安裝,取決於匯出時選擇的分發用途,以及簽名、配置檔和目標裝置是否相符。Ad Hoc 等方式可能要求先登記裝置;若安裝失敗,先分辨 IPA 是否成功匯出,再檢查簽名與裝置條件,不要把兩種問題當成同一件事。
匯出 IPA 就代表已經上傳 TestFlight 嗎?
不是。匯出 IPA 是取得一個按用途準備的 App 檔案;TestFlight 則涉及將建置版本上傳至 App Store Connect,再依測試分發流程處理。若課程只要求提交 IPA,就不應自行把上傳 TestFlight 當成必要步驟;請先照課程說明確認交付內容。
為 IPA 匯出準備一台專屬 Mac
透過 deploymini 按日租用獨享實體 Mac mini M4,為課程專案備妥 macOS 開發環境,不必為短期交付購置設備。
