若 macOS 27 是最低部署目標,先核對 Xcode 27 的實際架構設定;若仍支援較早系統上的 Intel Mac,就建置並分別驗收 Universal 產物。
遇到 CI 建置成功、卻無法證明 Intel 使用者可用時,請把建置主機架構與應用交付架構分開判斷。
本文適合維護 macOS 桌面應用發布流程的開發者、Apple 平台工程師,以及需要建立架構驗收證據的 CI 工程師。
如果你只在選購 CI 節點硬體,本文不討論主機選型;重點是應用支援範圍、二進位產物與測試結果。
最後核對於 2026 年 10 月 27 日;macOS 27、Xcode 27 與架構相關說明以 Apple 的 macOS 27 公告、Xcode 27 發布說明及下文所列技術文件為準。若 Apple 更新系統或工具鏈說明,應重新核對專案實際解析出的建置設定。
發布前:先定義 macOS 27 與 Intel 使用者的支援範圍
macOS 版本、最低部署目標、CPU 架構與 Rosetta 是不同條件。macOS 27 面向 Apple silicon;這不代表所有較早 macOS 系統上的應用都必須改成 arm64,也不代表在 Apple silicon 主機上建置成功就已證明 Intel 相容。Apple 的 macOS 27 公告應與產品自己的支援聲明一併閱讀。
macOS 27 應用還需要支援 Intel Mac 嗎?
答案取決於你承諾支援的使用者,而非 CI 主機是 Intel 還是 Apple silicon。先從產品文件、安裝包發布政策與實際使用者範圍,明確寫下最低 macOS 版本,以及是否承諾支援 Intel Mac。
| 支援策略 | 適用條件 | 產物與驗收重點 |
|---|---|---|
| 僅支援 macOS 27 與 Apple silicon | 產品明確不支援 Intel 使用者,且所有必要依賴與分發流程都符合此範圍 | 評估 arm64-only;確認最低部署目標、依賴架構及安裝流程一致 |
| 仍支援較早 macOS 上的 Intel 使用者 | 支援聲明涵蓋 Intel Mac,或有舊系統使用者需要維護 | 建置 Universal 產物;分別驗收 Apple silicon 與 Intel 路徑 |
| 支援範圍尚未確定 | 產品文件與實際使用者需求尚未對齊 | 暫不移除 x86_64;先釐清承諾,再調整建置設定 |
Apple 的 Rosetta 技術說明描述的是 Apple silicon 上執行 Intel 軟體的轉譯環境。它不能替代 Intel 實機測試,也不能單獨證明應用符合每個目標 macOS 版本的支援條件。不要把 Apple 對 Rosetta 或 Intel-only 應用的公告,延伸解讀成所有舊系統上的相容保證。
注意:支援 macOS 27 的 Apple silicon 環境,與支援較早 macOS 版本的 Intel 使用者,是兩個需要分別記錄的發布條件。不要只用「支援 macOS」概括兩者。
設定核查:逐一檢查 target 與建置組態
不要只看 Xcode 專案畫面中的單一欄位。相同專案可能有多個 target、Debug/Release 組態,以及套用在不同層級的設定覆寫;真正影響產物的是建置時解析出的值。
Xcode 27 的 macOS 27 部署目標預設包含 x86_64 嗎?
不一定。Xcode 27 發布說明指出,當 macOS 部署目標設為 macOS 27 或更高時,ARCHS_STANDARD 不再預設包含 x86_64。因此,你不能只根據過往專案預設值推斷輸出架構;應以 Xcode 27 發布說明與實際工具鏈解析結果為準。
在每個會進入發布產物的 target 與組態中,核對以下項目:
- [ ]
MACOSX_DEPLOYMENT_TARGET:最低部署目標是否符合產品支援聲明。 - [ ]
ARCHS:目前解析出的架構是否符合預期,而不是沿用舊專案記憶。 - [ ]
EXCLUDED_ARCHS:是否有設定排除某個架構,或只為特定組態留下例外。 - [ ]
VALID_ARCHS:是否還有遺留覆寫;若有,確認它的來源與目前工具鏈是否仍適用。 - [ ] 各個 app、extension、helper 與動態函式庫 target:是否採用相容的部署目標與架構設定。
可在建置前查詢實際設定,例如:
xcodebuild -showBuildSettings -scheme "你的 Scheme" -configuration Release
再檢視輸出中的 MACOSX_DEPLOYMENT_TARGET、ARCHS、EXCLUDED_ARCHS 與相關設定。Xcode 的 target 建置設定文件說明設定會受到專案、target 與組態等層級影響;遇到 Apple silicon 架構建置錯誤時,也可依 TN3117 架構排錯說明逐項排查。
產物檢查:從歸檔確認 Universal 架構
工程設定顯示預期值,不等於最終交付檔真的包含相應切片。請在完成 Archive 或產生實際分發包後檢查主執行檔,並把檢查結果與發布版本一同保存。
如何確認 macOS 應用產物同時包含 arm64 和 x86_64?
先定位歸檔中的主執行檔,再使用 lipo 查詢架構:
lipo -archs "/路徑/YourApp.app/Contents/MacOS/YourApp"
如果產品承諾支援 Apple silicon 與 Intel,輸出就應同時列出 arm64 和 x86_64。檢查對象不能只限主執行檔:extension、helper、內嵌動態函式庫及第三方依賴也應符合相同發布策略。任何一個必要元件缺少預期架構,都可能令整個應用在對應裝置上無法載入。
Apple 的 Universal 二進位指南說明如何建置同時包含 Apple silicon 與 Intel 架構的 macOS 二進位。Xcode 27 的 macOS 27 SDK 亦可用於建置回部署至較早系統的 Universal 應用;這項能力不會自動替你決定最低部署目標,也不能取代對舊系統與 Intel 實機的驗收。
發布證據建議保存:
- [ ] Archive 或最終分發包的版本識別資料。
- [ ] 主程式與必要內嵌元件的架構檢查輸出。
- [ ] 建置組態、最低部署目標與工具鏈版本。
- [ ] 若產物被重新簽署、封裝或加工,記錄檢查發生在流程的哪個階段。
裝置測試:分開驗收 Apple silicon 與 Intel 路徑
如何分別驗收 Apple silicon 和 Intel Mac 上的 macOS 應用?
建立兩條互相獨立的驗收紀錄:Apple silicon 測原生 arm64 路徑;仍在支援範圍內的 Intel Mac,則測 x86_64 路徑。每次都記錄系統版本、產物版本、啟動結果及關鍵功能結果;如有差異,附上可重現步驟與日誌。
- [ ] 在 Apple silicon 環境安裝正式候選產物,確認應用以預期的原生架構啟動。
- [ ] 在 Intel Mac 上安裝同一發布候選產物,確認實際支援的 Intel 路徑可啟動。
- [ ] 執行產品最關鍵的功能流程,而非只以「程式有開啟」作為驗收。
- [ ] 檢查依賴載入、外掛、檔案讀寫及更新流程是否符合支援範圍。
- [ ] 保存系統版本、產物識別資料、架構檢查結果與測試結論。
Intel 主機不能調試 arm64 切片;同樣地,在 Apple silicon 上經 Rosetta 啟動成功,也不能代替 Intel 主機驗收。若你目前只有單一處理器類型的測試環境,請明確標記尚未覆蓋的路徑,不要把單一主機上的建置通過當成完整相容性證明。
發布決策:保留 Universal,或評估 arm64-only
當支援政策與產物證據都完成核對後,再決定是否改變架構策略。若產品仍要支援 Intel 使用者或較早 macOS 系統,保留 Universal 發布路徑,並將架構與實機測試納入每次發布驗收。若產品明確只支援 macOS 27 與 Apple silicon,才評估 arm64-only;調整前仍須核對依賴、安裝流程、更新機制與使用者支援聲明。
發布前最後核對:
- [ ] 支援聲明清楚區分最低 macOS 版本與處理器架構。
- [ ] Xcode 解析出的建置設定符合該支援範圍。
- [ ] 最終分發產物及必要依賴包含預期架構。
- [ ] Apple silicon 與 Intel 的測試結果分開留存,未測路徑有明確標示。
- [ ] 發布說明、下載頁與實際產物沒有互相矛盾。
如果目前依賴 Linux CI、借用本機 Mac 補測,可能會遇到 macOS 專屬工具鏈無法在 Linux 執行、人工補測步驟與自動化流程分離,以及 Intel 實機不易固定等限制;反過來說,若你長期需要固定主機或必須直連特定實體介面,自購 Mac 也可能比臨時租用更合適。當你只需要在非本地 Mac 上重現構建、檢查架構並完成指定實機驗收時,可先閱讀 KVMFLUX 的遠端 Mac 使用情境,再依頁面可核對的服務條件評估目前租賃方案。租用真實 Mac 可提供不同於 Linux 建置主機的 macOS 驗收環境,但仍應按你的 Intel 支援需求確認可用的工具鏈與接入方式。
延伸閱讀
補齊 macOS 發布驗收:租用 KVMFLUX 專屬遠端 Mac
以專屬 Mac mini M4 執行 Apple Silicon 建置與實機測試,檢查應用程式在 arm64 環境的表現。 透過 SSH 或 VNC 使用遠端 macOS,適合接入 CI、執行 Xcode 測試,或進行發布前驗收。 按日、週、月或季租用,無論短期發布衝刺或常駐建置節點,都能依工作週期安排。 KVMFLUX 提供專屬實體 Mac,不與其他租戶共用;Intel 相容性仍請另以 Intel 實機驗證。