可以先在可連網的 Mac 上依 Apple 支援的 xcodebuild 流程下載模擬器執行階段,再匯入目標 Mac;但必須用目標 Xcode 核對可用性,並以專案實際測試驗收,不能把離線匯入成功當成 CI 已就緒。此方法適合網路受限、但能透過受控方式傳送檔案的建置環境。
適合閱讀的情境: 維護受防火牆或網路政策限制 Runner 的 CI 工程師,可按步驟準備執行階段。
負責多台 Mac 的工程師,可評估如何重用下載包及核對版本。
需要在遠端 Mac 執行 iOS 模擬器測試的開發者,可依專案結果判斷環境是否符合需求。
截至 2026-10-29,Apple 發布資訊列有 Xcode 27.2 RC;Apple 文件亦說明可透過 xcodebuild 下載及匯入模擬器執行階段。實際可下載的平台與版本、目標 Xcode 的相容性,仍須以當前官方資料和目標主機結果確認。Xcode 27.2 RC 發布記錄|Xcode 27.2 發布說明
先判斷阻塞點,再準備離線套件
離線安裝只解決「目標 Mac 無法直接取得元件」這一類問題。它不會替專案選好模擬器目的地,也不會修復專案本身的建置錯誤。
實作前先分清三件事:SDK 是建置所用的軟體開發套件;模擬器執行階段提供模擬 iOS 系統的執行環境;模擬器設備則是可供測試選取的設備目標。目錄裡有相關檔案,不等於這三者都已備妥。
Apple 會隨版本更新系統要求與元件支援資訊。開始前,先核對 Xcode 系統要求,再確認目前選取的 Xcode 及其發行說明;不要只憑「27.2 RC」這個版本名稱推斷目標平台一定可用。
| 現場狀況 | 建議做法 | 驗收重點 |
|---|---|---|
| 目標 Mac 可連線,且缺少執行階段 | 先查目標 Xcode 的元件選項,再於該主機下載或安裝 | 執行階段與所需設備均能列出 |
| Runner 無法連外,但可受控傳檔 | 在可連線的 Mac 下載、匯出,再傳至 Runner 匯入 | 匯入工具鏈正確,專案測試能執行 |
| 多台 Mac 使用不同 Xcode | 分台核對選取版本、支援情況和識別結果 | 不把同一下載包視為跨版本通用快取 |
| 目標設備不存在或測試仍失敗 | 分別檢查執行階段、設備目標、專案設定與日誌 | 以專案實際建置或測試結果判定 |
CI 工程師:依官方流程準備受限網路 Runner
先在準備下載的 Mac 上確認 Xcode 路徑與版本。再查看該版本的命令列參數,確認下載平台、匯出位置及匯入方式。Apple 文件列出以 xcodebuild 下載並安裝額外元件的流程;選項是否適用於目前安裝的版本,仍應以本機命令說明和官方文件為準。Apple 元件下載與安裝說明|Xcode 命令列工具參考
可先用以下指令檢查主機狀態:
xcode-select -p
xcodebuild -version
xcrun simctl list runtimes
xcrun simctl list devices available
這些命令用來檢查目前選取的開發工具、版本,以及已識別的執行階段與設備;它們不會取代實際測試。若 Xcode 命令列工具指向錯誤版本,先處理選取狀態,再判斷執行階段是否缺失。
下載時,以目前 xcodebuild -help 和 Apple 文件列出的參數為準。若該版本提供 -downloadPlatform、-exportPath 等選項,可依官方格式下載並匯出指定平台;目標 Runner 則使用文件列出的匯入方式。不要照抄其他 Xcode 版本或網路貼文中的完整指令,尤其不要假設同一平台名稱、下載選項或匯出內容在 RC 版本間完全相同。
多機部署:把套件管理納入變更記錄
先下載再分發,能減少每台主機各自向外取得元件的需要;但這不是跨 Xcode 版本通用的快取方案。維護多個工具鏈時,每台 Mac 都要單獨確認目前選取的 Xcode、執行階段識別結果,以及專案所需的設備目標。
可將下列資訊記錄於環境變更紀錄:套件來源、取得時使用的 Xcode、目標主機選取的 Xcode、匯入方式、匯入後識別結果,以及專案測試結果。記錄可讓團隊在 Runner 重建或測試失敗時,區分問題出在檔案傳輸、工具鏈選擇,還是專案目的地設定。
| 檢查項目 | 合格條件 | 未通過時的處理 |
|---|---|---|
| 套件來源與狀態 | 來源可追溯,且經內部流程核驗 | 暫緩匯入,不把未知來源套件放入正式 Runner |
| Xcode 選取狀態 | 目標主機使用預期的 Xcode | 先修正選取狀態,再重新列出元件 |
| 執行階段識別 | 目標 Xcode 能列出所需執行階段 | 核對匯入結果與版本支援資訊 |
| 設備與專案測試 | 目標設備可用,專案建置或測試完成 | 保存錯誤輸出,分辨目的地與專案問題 |
維護多個 Xcode 版本:避免把檔案存在當成相容
遇到同一台 Mac 安裝多個 Xcode,先明確確認本次 CI 使用哪一個,再判斷其元件狀態。執行階段能否在特定 Xcode 下使用,應由版本說明、系統要求及實際識別結果共同確認;其他 Xcode 能列出某個執行階段,不代表目前 CI 選用的版本也能使用。
匯入後若設備缺失,先分層排查:執行階段是否出現在清單、模擬器設備是否可用、CI 設定的目的地是否與設備相符。Apple 對模擬器元件與新增模擬器的說明可用於核對操作方式,但最後仍要用 Runner 的實際狀態確認。新增模擬器說明
運維與安全:用可重現的步驟完成驗收
以下清單可用於開啟環境變更,或逐台核對 Runner:
- [ ] 記錄目標 Mac 要使用的 Xcode,並確認
xcode-select -p指向預期工具鏈。 - [ ] 對照 Apple 系統要求與版本說明,核實目標 Xcode 和平台支援狀況。
- [ ] 在可連線主機查閱本機
xcodebuild -help,依官方支援方式下載及匯出。 - [ ] 透過核准的傳輸流程交付套件;保存來源及匯入記錄,未核驗的套件不投入正式 Runner。
- [ ] 在目標 Mac 使用適用的匯入方式,確認執行階段可被目前選取的 Xcode 識別。
- [ ] 列出可用模擬器設備,核對 CI 專案實際使用的測試目的地。
- [ ] 執行專案建置或測試;保存失敗日誌,直到測試結果符合專案驗收條件。
Apple 說明可在模擬器或實體設備上執行 App;CI 驗收不能停在元件清單,而應確認專案能在預期目的地執行。Apple 模擬器與實體設備執行說明
操作前的對照表
| 步驟 | 可連線的準備主機 | 受限網路目標 Mac |
|---|---|---|
| 選取工具鏈 | 確認下載使用的 Xcode | 確認 CI 實際選取的 Xcode |
| 取得元件 | 依支援選項下載並匯出 | 接收核驗後的套件 |
| 匯入及核對 | 記錄來源與匯出結果 | 匯入後列出執行階段和設備 |
| 專案驗收 | 不以準備主機結果代替目標測試 | 使用實際 CI 設定執行專案測試 |
常見問題
Xcode 27.2 RC 如何取得 iOS 模擬器執行階段?
先確認目前選取的 Xcode,再查看其 xcodebuild 說明和 Apple 元件安裝文件。只有在該版本提供相應平台與下載選項時,才按文件下載及匯出。可取得的平台與版本以實際命令結果為準;下載完成後記下來源,並安排在目標主機驗收。
完全離線的 Mac 可以匯入執行階段嗎?
可以先在可連線的 Mac 下載、匯出,再透過受控檔案傳輸送至離線主機。目標 Mac 仍要使用合適的 Xcode 執行匯入,並確認執行階段與設備均可識別。不能以準備主機的成功結果代替目標主機測試;若匯入失敗,應保留日誌並核對檔案狀態。
不同 Xcode 版本可以共用同一個執行階段嗎?
不要預設可以。先查目標 Xcode 的版本說明和系統要求,再於該主機檢查實際識別結果。執行階段檔案存在,只能證明檔案在磁碟上,不能證明所選工具鏈支援它。若目標版本無法列出或使用,重新核對工具鏈和支援資訊,再決定是否更換版本或重新準備元件。
怎樣判斷執行階段已能供 macOS CI 使用?
在 Runner 上確認選取的 Xcode,列出執行階段及可用設備,再按 CI 的實際目的地設定執行專案建置或測試。設備可列出仍不等於專案測試通過;要以測試完成與結果符合專案要求作為驗收條件。保留失敗輸出,方便辨別工具鏈、目的地或專案設定問題。
如果目前用 Windows 或 Linux 主機搭配臨時人工測試,常見代價是缺少原生 Xcode 工具鏈、每次測試需要轉移到不同環境,以及 Runner 狀態難以持續核對。若只是短期處理受限網路測試,可先完成版本與專案驗收,再了解 DebugMac 遠端 Mac 接入方式;若需要穩定、長期的重負載主機或實體介面,則應先評估自購 Mac 是否更合適。查看遠端 Mac 使用指南,再依工作週期選擇環境。
最後更新於 2026-10-29;版本資訊核實自 Apple Xcode 發布記錄、Xcode 27.2 發布說明、系統要求及 Apple 模擬器元件文件。
常見問題
Xcode 27.2 RC 要怎樣取得 iOS 模擬器執行階段?
先切換到準備使用的 Xcode,查看該版本的 xcodebuild 說明與 Apple 元件安裝文件,再使用文件列出的下載及匯出參數。平台名稱和可下載版本以命令結果為準;下載後先保留來源與檔案狀態記錄,不要假設每個 Xcode RC 都提供相同選項。
目標 Mac 完全不能連網,還能匯入 Simulator runtime 嗎?
可以由可連網的 Mac 依 Apple 支援的流程下載並匯出執行階段,再透過組織核准的檔案傳輸方式交付目標主機。離線主機仍須選對 Xcode 並實際匯入;匯入後要確認執行階段可列出、目標設備可用,並執行專案測試。
不同版本的 Xcode 能共用同一個模擬器執行階段嗎?
不要只因為執行階段檔案已存在,就判定其他 Xcode 也能使用。先選定目標 Xcode,查閱其版本說明與系統要求,再以該主機的執行階段清單和設備目標確認實際支援情況。若目標版本無法識別,應先調整工具鏈或重新準備相符元件。
如何確認執行階段已安裝,而且能供 macOS CI 使用?
在 Runner 上確認目前選取的 Xcode,再列出已識別的執行階段與模擬器設備。接著使用 CI 實際執行的目的地設定啟動建置或測試;只有設備可被選取、專案測試完成且結果符合預期,才算通過驗收。保留失敗輸出可協助重現問題。
延伸閱讀
為模擬器與 CI 建置準備一台專屬 Mac
DebugMac 提供獨享 Apple Silicon 實體節點,適合部署固定的建置與測試環境。
