iOS CI 變慢、GitHub Actions macOS runner 排隊時,用 Cloud Mac 解決

有沒有很熟悉?

  • iOS CI 怎麼越跑越慢,專案也沒變肥啊?
  • GitHub Actions 的 macOS runner 又在排隊了?
  • xcodebuild 卡住、逾時,或莫名紅燈?
  • 桌上沒有 Mac,TestFlight 要怎麼出包?
  • 雲端 Mac 真的能跑 Xcode 嗎?
  • 想讓 Claude Code / Ollama 24 小時掛著,筆電一關蓋就斷線?

這陣子被問最多的就這幾題。我的習慣是:先把結論放這兒——慢的不一定是你的程式碼,再講為什麼會卡、最後怎麼選,不繞路。

先講結論

Cloud Mac 說白了就是按天租一台專屬 Mac Mini——macOS 編譯排到天荒地老、Actions 一直等 runner、或手上沒 Mac 但要出 Xcode 包的時候,很實用。

三句話抓重點:

  • 整台機器是你的——不用跟全世界搶 CI 佇列
  • 遠端編譯、遠端上架——不必為了發版週買一台 MacBook
  • 需要幾天就租幾天——突發工作量比全年養閒置硬體划算

Cloud Mac 到底是什麼?

幾個白話事實:SSH 或 VNC 連進一台實體 Mac Mini(M4 等級),整台歸你,按日或按月計費,大約五分鐘就能開通。

  • 不是擠在共用主機上的虛擬 Mac
  • 不是 Claude / GPT 那種 API——簽章、公證還是要 macOS
  • 放在機房裡、專門跑編譯或推理的真 Mac

底層概念跟 AWS EC2 Mac 類似:真硬體。差別通常在按日計費、節點離你辦公室多近、以及開通速度。要穩定跑 xcodebuild 或 Ollama,我會選專屬實體機,而不是吵雜的多租戶 VM。

什麼時候值得考慮?

很多團隊會卡在下面某一條。只要中一條,租 Cloud Mac 往往比再買 MacBook 或盯著 Actions 排隊來得省事:

  • GitHub Actions macOS runner 排隊超過 10 分鐘
  • CI 裡的 xcodebuild 不穩——逾時、莫名失敗
  • 每次 build 都重拉 Pods / SPM——冷啟動永遠冷
  • 日常用 Windows / Linux,桌上沒 Xcode,但 TestFlight 得發
  • Agent 或 Ollama 要常駐——筆電睡眠任務就斷
  • 發版週需要加機器——不想全年養一台閒置 mini

「主力機不是 Mac、編譯放遠端」這條路,可看 Windows / Linux 主力 + 遠端 Mac 建置島

iOS CI 為什麼越跑越慢?

第一直覺總是「專案變大了」——但挖下去常發現,問題在怎麼跑 CI

  • GitHub Actions macOS runner 是共用的——發版週排隊時間常常比編譯還長
  • Xcode 編譯很吃磁碟——DerivedData 一清就從頭來
  • CocoaPods / SPM 一直冷啟動——runner 一換,全部重下
  • Apple 工具鏈不像 Linux CI 那樣好容器化——簽章、鑰匙圈、TCC 都要固定環境
  • log 常長這樣:編譯 8 分鐘,排隊 40 分鐘

重點:可能不是你的 code——是共用 runner 和留不住的快取。專屬 Mac 加 self-hosted runner,就是對準這件事。

買還是租、快取怎麼留:見 Mac 自託管 runner、快取與持久磁碟

買、租,還是打 API?

你卡在哪我會怎麼選
iOS CI 排隊、發版週爆量Cloud Mac——按天加機器,掛 self-hosted runner
沒 Mac,要 Archive / TestFlightCloud Mac——SSH 編譯,憑證用 VNC 設一次
試 Agent、OpenClaw、OllamaCloud Mac——不合適就退租
天天寫 code,同一台用好幾年買 Mac mini
隨便聊聊、丟棄式原型雲端 API 就夠
敏感程式碼、推理要常駐Cloud Mac 或自購 mini——看利用率

三條路並排看

Cloud Mac自購 Mac mini雲端 API
開通約 5 分鐘等貨 + 設定註冊即用
Xcode / 公證
CI 彈性用完就退固定資產
私有推理Ollama / MLX,專屬機專屬機資料出界

補一句:Cloud Mac 不取代日常 MacBook——它是機架裡那台負責編譯的 Mac;筆電還是你打字的地方。

租一台要多少錢?

CI 只在發版前後爆量,租幾天往往比買 mini 划算。若全年 24/7 跑,自購攤下來可能更低——看利用率。

方案大概價位適合 workload
Cloud Mac M4 16GB$20.6/天$102.9/月發版衝刺 3–5 天、專屬 runner
Cloud Mac M4 Pro 24GB$39.8/天$202.9/月14B Ollama + 團隊 Agent
自購 Mac mini M4 16GB$599+;三年攤約 $0.55/天 + 維運固定 24/7 CI / home lab

粗算:16GB 租三天發版 ≈ $62——低於買一台 mini。發版週兩台各租五天 ≈ $206——有時比全隊盯 Actions 轉圈便宜。最新方案:Macstripe 方案與定價

怎麼選規格

情境建議
專屬 iOS CI / 中小型 repo16GB;大 repo 加 1TB 磁碟 存 DerivedData
團隊 ollama serve + 14B24GB7B vs 14B 實測筆記
延遲亞太辦公室:新加坡 / 東京 / 香港;SSH RTT 常見 30–80ms

實際能幹嘛?

1. 把 CI 排隊壓下來

在 Cloud Mac 上掛 self-hosted runner,DerivedData 和 Pods 快取留著。發版週開機、淡季退租——排隊從幾十分鐘降到接近零。

2. 遠端 Xcode 上架流程

Windows / Linux 照樣當主力;pipeline 觸發遠端 Mac 做 Archive、簽章、公證、TestFlight。憑證和 TCC 用 VNC 設一次,之後 headless SSH 就好。

3. Agent 常駐不斷線

機架上跑 ollama serve,開發機的 Claude Code 指過去。關筆電不會把任務掐掉。接線方式:Claude Code + Ollama 實戰

4. 私有 Ollama 推理

程式碼和內部文件不出公司;24GB 跑 14B 比筆電 swap 舒服。框架怎麼選:Ollama 還是 MLX;要擴充:私有 AI 伺服器叢集

5. 瀏覽器自動化

真實瀏覽器 profile、CDP、macOS TCC——OpenClaw 這類設定在遠端 Mac 上往往更順。見 OpenClaw 遠端 Mac 部署實操

常見問題

iOS CI 為什麼這麼慢?

多半是共用 runner 排隊、快取留不住、工具鏈不好容器化——等待時間常超過真正編譯,不全是「專案變大」。

GitHub Actions macOS runner 一直排隊怎麼辦?

發版週租一台專屬 Mac,掛 self-hosted runner,快取保溫,結束就退租。比盯著共用池轉圈實際。

沒有 Mac 能做 iOS 開發嗎?

寫 code 哪裡都行;Archive、簽章、公證、TestFlight 一定要 macOS。SSH / VNC 進 Cloud Mac 走上架流程。

Cloud Mac 能跑 Xcode 嗎?

能——實體 Mac Mini,完整 Xcode、xcodebuild、憑證和鑰匙圈。就是一台遠端編譯機,沒什麼玄的。

Cloud Mac 跟買 Mac mini 哪個划算?

發版週爆量、想先試再買,租比較順。全年 24/7 負載,自購攤下來可能更低。看利用率。

CI 裡 xcodebuild 失敗或逾時?

先看排隊時間、DerivedData 磁碟空間、簽章環境有沒有飄。專屬 Mac 能少掉 IO 搶占和環境重置。

雲端 Mac 真的能正經跑 Xcode?

能。租好裝 Xcode,日常 SSH 編譯,第一次用 VNC 處理憑證和 TCC。

跟 GitHub 託管 runner 差在哪?

託管 = 共用池,排隊和冷啟動你管不了。Cloud Mac = 整台機器,快取和簽章環境可以固定下來。

Cloud Mac 是什麼?

按日或按月租的專屬 Mac Mini,SSH / VNC 連線。不是 VM 切片,也不是 API。

租多少錢?

參考:M4 16GB 約 $20.6/天、$102.9/月;24GB 約 $39.8/天、$202.9/月。詳見 方案與定價