← 返回開發日記

告別 Xcode 卡頓:把編譯任務扔到雲端 Mac mini M4 上

輕薄筆電與雲端 Mac mini:本機寫程式、遠端跑 Xcode 編譯
我的日常:面前是輕的筆電,編譯在機房的 M4 Mac mini 上跑。

我現在的主力機是一台很輕的筆電——寫 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 全遠端終端/VNCGUI、模擬器、編譯非 Mac 本
B 混合(我最常用)改碼、pushxcodebuild要本地補全、不要風扇狂轉
C 只放 CI日常本地 XcodeRunner 7×24PR 多

獨立開發用 B:白天改 SwiftUI,下班 push,雲端 Archive 上 TestFlight。Cursor 用 Remote-SSH 指到雲主機即可。

4)要不要上雲 Mac?

信號繼續調本機加雲端 M4
Clean Build >5 分鐘且每天多次有限改善建議上雲
風扇吵到開會緩解而已編譯遷出
要新 Xcode、本機 macOS 太舊換電腦雲端升級鏡像
每天長時間調模擬器 UI本地仍需要VNC 或分工
離線出差本地要能編雲端補不上離線

不確定就用真實倉庫在雲 Mac 跑一輪 Archive 計時——比測評實在。

5)我搭環境的順序

  1. 地區靠近 GitHub/GitLab、制品庫。
  2. SSH 裝對版 Xcode;看 發布說明
  3. ~/.zshrcexport DERIVED_DATA_PATH=~/DerivedData
  4. git pull、Fastlane Match;要信任裝置就 VNC 點一下。
  5. 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。

我用的基礎設施(供你對照)

編譯機我放在 Nuvcloud 的獨享 M4 Mac mini 上:SSH/VNC、按日/週/月開,不用和陌生人搶「雲 macOS」。個人趕版本、小團隊共一台構建機都夠。

日租拿自己的工程跑一輪 Archive,和本機比時間——看定價與節點 · 開通

LIMITED 限時優惠