我現在的主力機是一台很輕的筆電——寫 Swift、改 Storyboard、回訊息都夠用。但只要一點 Run,或同事 merge 了個大 PR 觸發全量編譯,機器就開始表演:風扇拉滿、觸控板燙手、swift-frontend 在 Activity Monitor 裡佔滿 CPU,Swift 補全跟著卡成 PPT。你肯定也幹過:刪 Derived Data、重開 Xcode、等 Indexing 結束。後來想通:不必讓面前這台扛所有重活,把 xcodebuild、長索引、Archive 挪到一直插電的 Mac 就好。
現在是 本地輕薄筆電 + 雲端獨享 M4 Mac mini。筆電寫程式、開會;機房 Remote Mac 負責編譯、模擬器、簽名。Windows 主力也能這樣玩,見 Windows + 雲端 Mac 做 Xcode。還在糾結 MacBook Pro?對照 本機 vs 租雲端 Mac 的 TCO;CI 見 自建 macOS Runner。下面是實際分工,不是採購簡報。
1)Xcode 卡,多半是機器在扛什麼
我的觀察:SourceKit 掃倉庫、Indexing 吃磁碟 I/O、Clean Build 連結器吃滿效能核、模擬器再搶記憶體。輕薄本為續航降功耗,編譯幾分鐘就降頻。Apple 構建效率文件 有幫助,但每天多次 Clean 仍耗時間。
出差只想背 1.2kg,酒店卻得開 Xcode 等 Archive。編譯挪到機房 M4 Mac mini 後,筆電又變回「終端 + 編輯器」。
2)怎麼拆:筆電寫碼,雲 Mac 專門編
- 本地: Git、Cursor/VS Code、設計稿。要編譯就 SSH,風扇幾乎不轉。
- 雲端 M4 Mac mini: 完整 Xcode、固定 Derived Data、
xcodebuild archive。獨享,不被同事搶磁碟。 - 可選 CI: 自建 macOS Runner,push 完去倒水,回來 PR 已經綠了。
選節點看 Git 遠端在哪。共享 macOS VM 我踩過坑,見 虛擬機 vs 真機 Mac mini。
3)三種用法,建議從 B 試
| 模式 | 本地 | 雲端 M4 | 適合 |
|---|---|---|---|
| A 全遠端 | 終端/VNC | GUI、模擬器、編譯 | 非 Mac 本 |
| B 混合(我最常用) | 改碼、push | xcodebuild | 要本地補全、不要風扇狂轉 |
| C 只放 CI | 日常本地 Xcode | Runner 7×24 | PR 多 |
獨立開發用 B:白天改 SwiftUI,下班 push,雲端 Archive 上 TestFlight。Cursor 用 Remote-SSH 指到雲主機即可。
4)要不要上雲 Mac?
| 信號 | 繼續調本機 | 加雲端 M4 |
|---|---|---|
| Clean Build >5 分鐘且每天多次 | 有限改善 | 建議上雲 |
| 風扇吵到開會 | 緩解而已 | 編譯遷出 |
| 要新 Xcode、本機 macOS 太舊 | 換電腦 | 雲端升級鏡像 |
| 每天長時間調模擬器 UI | 本地仍需要 | VNC 或分工 |
| 離線出差 | 本地要能編 | 雲端補不上離線 |
不確定就用真實倉庫在雲 Mac 跑一輪 Archive 計時——比測評實在。
5)我搭環境的順序
- 地區靠近 GitHub/GitLab、制品庫。
- SSH 裝對版 Xcode;看 發布說明。
~/.zshrc:export DERIVED_DATA_PATH=~/DerivedDatagit pull、Fastlane Match;要信任裝置就 VNC 點一下。ssh build@cloud-mac 'cd ~/app && xcodebuild -scheme App -destination generic/platform=iOS build'
編譯時在意 SSH 穩定、上傳 IPA 別抖。第一次全量編完 Derived Data 熱起來,後面增量會快。
6)踩過的坑
兩套 Derived Data 會讓你以为 Xcode 壞了——主構建機只留雲 Mac。
調 UI 用雲端模擬器 VNC;功能測試真機插筆電,包雲端打。
M4 上可適度調 SWIFT_EXEC_JOBS。Runner 與人工 VNC 分開,見 Runner 容量。
7)當成第二台編譯機的租金
衝刺週租、CI 月租,比為編譯買 MacBook Pro 輕。見 定價、TCO。遠端桌面見 虛擬桌面。
8)同事常問
遠端會慢嗎? 操作有延遲;長編譯常比降頻筆電快。混合最順。
只有 Windows? 能,見 這篇。
和 VPS? 簽名與 CI 要獨享 Apple 晶片真機。
安全? 跟公司角落 Mac mini 一樣:SSH 金鑰、別把 p12 提交 Git。
多久出第一個 Archive? 熟手當天;新手看 幫助中心。
舊 Mac 要升級嗎? 只寫碼不全量編的話還能戰;編譯瓶頸再租雲 Mac。