Processing 持續不變 → 先到 App Store Connect 的 TestFlight「Build Uploads」核對狀態與詳情,不要只看 TestFlight 建置列表,也不要一開始就重複上傳。
適合剛透過 Xcode 或 Transporter 上傳建置,卻不確定該等候還是排查的獨立開發者、小型團隊,以及負責維護遠端打包環境的人。
先看 Build Uploads,再核對 TestFlight
App Store Connect 的「Build Uploads」和 TestFlight 建置列表用途不同。前者用來確認上傳紀錄與處理狀態;後者則用來確認已處理的建置是否出現在測試分發流程中。因此,排查時應先確認上傳是否建立紀錄、狀態是什麼,再查看建置是否可供 TestFlight 使用。
到 App Store Connect 開啟目標 App,進入 TestFlight 的「Build Uploads」,找到此次上傳紀錄。核對 App、平台、版本與建置編號,避免把另一個 App 或先前的建置誤認為目前這次上傳。
Apple 將狀態區分為 Processing、Failed 和 Complete 等類別。Processing 表示建置仍在處理;Failed 表示處理未成功,應檢視該筆紀錄的詳情;Complete 表示處理完成。這些狀態描述的是上傳後的建置處理,不等同於 App 審核結果或已上架。可參考 Apple 對建置上傳狀態的說明及建置狀態定義。
判斷重點: TestFlight 列表暫時看不到建置,不足以證明 Xcode 上傳失敗。先回到「Build Uploads」查看該次上傳有沒有紀錄,以及狀態詳情是否提供錯誤資訊。
Processing 超過 24 小時仍未更新
Apple 說明,若建置上傳狀態超過 24 小時仍為 Processing,可能代表發生問題;其建議是提交 Feedback Assistant 回報,或聯絡 Apple 支援。這是 Apple 指出的異常判斷與升級處理依據,不是一般處理時間承諾,也不能據此推定每次上傳都會在特定時間完成。請以Apple 的建置上傳狀態與處理建議為準。
在符合這個條件前,先確認問題紀錄是否找對。核對版本與建置編號,也確認紀錄所屬的平台與 App。若紀錄仍在 Processing,保存該頁的狀態與時間資訊,不要因為 TestFlight 列表沒有顯示,就連續送出內容相同的建置。
超過 Apple 提示的時限仍未更新時,準備版本號、建置編號、上傳日期與時間,以及相關上傳或處理紀錄,再透過 Feedback Assistant 或 Apple 支援反映。這樣能讓回報對應到明確的一次上傳,而不是只有「一直在處理」的概括描述。
Failed 狀態:先讀錯誤詳情,再決定是否重傳
看到 Failed,下一步不是猜測原因,而是開啟該筆上傳詳情,查看 Apple 顯示的錯誤、警告及資訊。不同訊息可能指向不同處理方向;沒有讀取詳情前,不應把所有 Failed 都歸因於簽章、程式碼或 Apple 服務端。
還要區分兩種情況:一種是本機歸檔或上傳工作尚未完成;另一種是 App Store Connect 已收到建置紀錄,但後續處理失敗。前者要先查 Xcode、Transporter 或上傳工具的工作結果與紀錄;後者則要以 App Store Connect 該筆 Failed 詳情作為後續判斷依據。Apple 說明了如何上傳建置及其後續處理流程。
若錯誤資訊指出需要修正專案或上傳內容,先完成修正,再產生新的建置並重新上傳。若詳情沒有指出可直接修正的原因,保留原始紀錄並向 Apple 反映,避免在沒有新證據時反覆重傳,令後續追查更難分辨。
TestFlight 建置列表看不到已處理的建置
建置處理完成,和建置已經出現在可供測試的列表,是相關但不同的階段。Apple 說明上傳的建置需要經過處理,之後才會顯示在 App Store Connect 的建置資料中。請先確認查看的是正確 App、平台、版本和建置編號,再回到該次上傳紀錄核對狀態。Apple 的查看建置與中繼資料說明列出相關查看方式。
如果 Build Uploads 顯示仍在 Processing,就先按處理狀態排查,而不是在 TestFlight 列表重複搜尋。如果已顯示 Complete,卻仍找不到建置,則確認是否切換到正確的 App 或平台,並查看測試分發後續步驟是否已完成。需要新增內部測試者時,請依照 Apple 新增 TestFlight 內部測試者的說明處理。
建置可見性也不是 App 審核或上架狀態。建置已處理完成,不代表已完成後續測試設定、審核或發布;反過來說,測試列表暫時看不到建置,也不能單獨證明上傳失敗。
先判斷問題在上傳端,還是在 Apple 處理階段
排查時要把本機上傳結果與伺服器端狀態分開記錄。Xcode 或 Transporter 顯示工作完成,與 App Store Connect 已建立對應的上傳紀錄,是兩個不同的核對點。前者未完成時,優先檢查本機工具的工作結果與紀錄;後者已建立且顯示 Processing 時,再按 Apple 的狀態建議處理。
可以把紀錄整理成簡單的核對格式。以下是整理欄位的範例,不是 Apple 固定輸出格式:
App:
平台:
版本 / 建置編號:
上傳工具:
本機上傳結果:
Build Uploads 狀態:
首次看到該狀態的時間:
錯誤或警告詳情:
若本機上傳尚未完成,先保留相關工具紀錄,確認工作是否中斷或失敗;不要把尚未送達的建置當成 Apple 正在處理。若本機流程已完成,但 App Store Connect 沒有相符的紀錄,重新核對 App、平台與建置資訊,並保留上傳結果供後續查證。若已建立 Processing 紀錄且超過 24 小時仍未更新,依照 Apple 的建議提交回報或聯絡支援,而不是自行推斷服務端故障原因。
Apple 的透過 Xcode 分發 App 說明可用來核對 Xcode 分發流程。若問題涉及的不只是單次上傳,而是整體 App Store Connect 工作步驟,可再對照 Apple 的 App Store Connect 工作流程。
升級處理前的資料整理
向 Apple 回報時,應讓支援人員能識別是哪一次上傳。整理以下資訊:
- App 名稱與平台,以及版本和建置編號。
- 上傳日期與時間,並註明時區,避免雙方對時間點理解不同。
- 使用的上傳方式,以及本機工具顯示的完成或失敗結果。
- Build Uploads 中的狀態、錯誤詳情,以及相關紀錄。
- 已嘗試的核對或修正,以及之後是否出現新的上傳紀錄。
如果稍後重新上傳,應重新核對新建置的編號和狀態。不要把新建置的進度當成原本那筆紀錄已恢復,也不要只憑 TestFlight 列表的變化判定舊問題已解決。
遠端 Mac 適合用來維持可重複的 Xcode 建置與上傳工作環境;但它無法代替 App Store Connect 的伺服器端處理,也不能保證 Processing 更快完成。若打包工作分散在不同電腦,還需考慮環境管理、存取權限與日誌保存方式。可先閱讀 NUMACS 的使用入門說明,了解遠端 Mac 的使用方式;如需評估租用方案,再查看 NUMACS 方案資訊。
| 畫面或狀態 | 應先核對的內容 | 下一步判斷 |
|---|---|---|
| 本機上傳未完成 | Xcode、Transporter 或上傳工具的工作結果與紀錄 | 先排查本機上傳流程,不把它當成 Apple 正在處理 |
| Build Uploads 顯示 Processing | App、平台、版本、建置編號與上傳時間 | 持續核對;超過 Apple 提示的 24 小時仍未更新,提交回報或聯絡支援 |
| Build Uploads 顯示 Failed | 該筆紀錄的錯誤、警告與資訊 | 依詳情修正;沒有明確原因時保留紀錄並升級處理 |
| 狀態已 Complete,但 TestFlight 看不到 | App、平台、版本、建置紀錄與測試分發步驟 | 區分建置處理完成和後續測試設定,不把兩者視為同一狀態 |
若目前依賴個人電腦臨時打包,常見限制是建置環境不固定、電腦離線時無法接續工作,以及上傳紀錄散落在不同裝置;自購 Mac 則需要承擔硬體成本與自行維護環境。遠端 Mac 可以提供持續可用的 macOS 打包環境,但不能處理 Apple 端的 Processing,也不適合所有長期固定負載或需要直接連接實體設備的工作。先按本文核對上傳端與 Build Uploads 狀態;若問題在持續運行的打包環境,再評估 NUMACS 遠端 Mac 是否符合實際流程,而不要把租用環境當成 Apple 處理延遲的解法。
NUMACS 雲端 Mac
為下一次 iOS 建置,準備穩定可追蹤的 Mac 工作站
若已確認本機封存與上傳流程完成,NUMACS 提供 Apple Silicon 獨享實體 Mac,讓您在遠端環境繼續建置與驗證。
