磁碟剛清出空間,重新建置幾次後又被 iOS 27 模擬器吃光,通常不是單一資料夾失控。
最快解法是:先用 Xcode Components 和磁碟目錄確認佔用來源,再刪除不在測試矩陣內的可恢復內容。若多版本 Runtime、Archive 和持續建置會再次填滿硬碟,就應擴容或遷移到容量更合適的遠端 Mac,而不是反覆進行高風險清理。
最後更新於 2026 年 8 月 21 日;版本狀態、元件管理方式與系統要求已按 Apple Xcode 系統要求、Xcode 27 Release Notes 及元件文件核對。
這篇適合三類讀者:
- 只維護一款 iOS App,希望保留最小模擬器環境的獨立開發者。
- 必須驗證多個 iOS 版本,不能隨意刪除 Runtime 的相容性測試者。
- 把遠端 Mac 當作持續建置或測試主機,需要控制磁碟增長的小型團隊。
01 先把「磁碟不足」拆成五種佔用
Finder 顯示空間不足,只能說明結果,不能直接告訴你該刪什麼。iOS 27 模擬器相關空間至少要分成以下五類:
- Simulator Runtime:模擬某個 iOS 版本所需的執行環境。移除後,所有依賴該 Runtime 的模擬裝置都無法使用它。
- 模擬裝置資料:每個虛擬 iPhone 或 iPad 的 App、使用者資料、設定和測試狀態。它和 Runtime 不是同一層。
- DerivedData:Xcode 建置中間檔、索引、模組快取和部分產物。清理後需要重新建置,但不代表專案原始碼消失。
- Archives:用於測試分發或 App Store 上架的封存產物。它們不是普通編譯快取,刪除前要確認已保留需要的版本。
- 依賴與工具快取:例如 Swift Package、CocoaPods 或其他建置工具下載的資料。清除後可能需要重新解析依賴,並在沒有快取的環境中重新下載。
你可以先在「系統設定 > 一般 > 儲存空間」查看大類,再透過 Xcode 的元件管理介面確認 Runtime。Apple 的額外 Simulator 元件與裝置管理說明可用來核對目前的管理方式。
如果需要更精細地定位,可在終端機執行下列唯讀檢查。<你的使用者名稱> 和 <專案名稱> 只是佔位符,請替換成你的實際路徑:
du -sh ~/Library/Developer/CoreSimulator/Profiles/Runtimes
du -sh ~/Library/Developer/CoreSimulator/Devices
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives
du -sh ~/Library/Caches
這些指令只讀取資料夾大小,不會刪除內容。若空間是在下載 Runtime 時不足,處理重點是元件與可用空間;若是在建置時不足,應先檢查 DerivedData、依賴快取和 Archive;若只在啟動模擬器時失敗,則要再看模擬裝置資料、權限及可用空間。
注意: 不要把
~/Library/Developer整個資料夾視為快取,也不要把簽名憑證、Provisioning Profile 或專案原始碼和建置產物混在一起處理。任意刪除受保護系統目錄,或為了清理而關閉 SIP,都不是一般維護方案。
02 三類開發工作負載,清理結論不同
單一 App 維護者:先回到最小環境
如果你只維護一款 App,通常不需要長期保留所有 iOS 版本和大量虛擬裝置。先列出:
- 專案目前支援的最低 iOS 版本。
- 日常測試真正使用的 iOS 27 Runtime。
- 仍需要回看或重新上傳的 Archives。
- 團隊實際使用的依賴與建置工具。
不在測試矩陣內的 Runtime,優先從 Xcode 的 Components 入口移除。Apple 的下載與移除 Xcode 元件文件說明了受支援的元件管理方式。不要先用 rm -rf 猜測資料夾位置;Beta 工具鏈的路徑和介面可能變動。
DerivedData 可以在確認目前沒有執行中的建置後清理。清理後,Xcode 會重新索引和編譯,首次建置時間可能增加。這是可恢復成本,不應被誤判為專案或簽名材料遺失。
相容性測試者:先建立測試矩陣,再決定刪除
你需要測試多個 iOS 版本時,不能只因為某個 Runtime 暫時沒有使用就移除。至少把版本分為三組:
- 最低支援版本:用來驗證部署下限和舊裝置行為。
- 主要使用版本:用來執行日常回歸測試。
- iOS 27 適配版本:用來檢查新 API、版面、權限和行為變化。
這時要分清兩種操作:
- 刪除單一模擬裝置:釋放該虛擬裝置的 App 與使用者資料,通常不會移除整個 Runtime。
- 移除完整 Runtime:該版本下的模擬裝置都不能再使用,下一輪回歸測試前可能要重新安裝。
Apple 的模擬器執行限制說明可作為測試邊界的核對依據。不要把「目前沒有測試」當成「永遠不需要」。若下一個版本週期很快要做跨版本回歸,保留必要 Runtime 通常比反覆下載更穩定。
正式版與 Beta 並存:先確認活動工具鏈
同時安裝正式版 Xcode 與 Xcode 27 Beta 時,兩套工具鏈可能使用不同的元件、索引和建置設定。清理前先確認目前選用的開發者目錄:
xcode-select -p
這個指令只會顯示目前的 Command Line Tools 或 Xcode 路徑。若要切換,應按照 Apple 的Command Line Tools 與 xcode-select 設定文件操作,並記錄切換前後的結果。
切換 xcode-select、刪除舊 Xcode App、移除 Simulator Runtime 和刪除模擬器資料,是四件不同的事。生產上架環境要保留可回退的正式工具鏈;Beta 環境則只保留目前適配工作需要的元件。Apple 已確認截至 2026 年 8 月 21 日,官方列出的最新測試工具鏈為 Xcode 27 Beta 4,iOS 27 Simulator 仍屬測試環境。Beta 的元件介面、已知問題和系統要求可能繼續變化,不能把 Beta 行為當成所有環境的固定規則。
03 持續建置主機要管理「增長速度」
iOS 打包伺服器或遠端 Mac 的問題,不只是一次清出多少空間,而是每次建置會留下什麼。
你可以按這個順序建立維護流程:
- 記錄磁碟水位:保存建置前後的可用空間,以及 Runtime、Devices、DerivedData、Archives 和依賴快取的大小。
- 設定保留政策:只保留仍需測試或回退的 Archive;已完成分發且有外部備份的舊產物,才進入清理範圍。Apple 的Archive 與分發流程文件可用來確認哪些產物仍在流程內。
- 清理可重建資料:先清理過期模擬裝置資料,再評估 DerivedData 和依賴快取。每一類都要分開記錄,避免出問題時無法追查。
- 輪換日誌:無人值守任務應限制建置日誌和測試報告的保留範圍,避免失敗重試不斷累積檔案。
- 驗證自動恢復:清理後重新啟動建置服務,確認依賴能否重新取得、模擬器能否啟動,以及簽名和 Archive 是否仍然正常。
- 檢查遠端主機規則:確認重啟後資料是否持久化、你是否有足夠權限管理元件,以及 Runtime 能否按需要重新安裝。
如果遠端 Mac 每次重建都要重新下載大型元件,清理可能反而增加失敗點。若必要 Runtime、Archive 和依賴快取在合理測試矩陣下仍無法共存,擴容比定期刪除更可預測。若主機還會因重啟遺失環境,則應先處理持久化或遷移問題,而不是只增加硬碟空間。
04 用清理、擴容或遷移做最後判斷
以下對照表把工作負載和處理方式放在一起。它也是你完成診斷後的決策工具。
| 選項 | 適用條件 | 先處理什麼 | 主要風險 | 驗收標準 |
|---|---|---|---|---|
| 清理 | 佔用主要來自過期模擬裝置、DerivedData 或可恢復快取 | 用 Xcode Components 管理 Runtime,再清理可重建資料 | 重新索引、重新下載、測試狀態消失 | 真實專案可重新依賴、建置、啟動模擬器 |
| 擴容 | 測試矩陣合理,必要 Runtime 與 Archive 長期共存 | 先確認主機支援的容量與持久化規則 | 成本增加,但問題來源未治理 | 多輪建置後仍有穩定餘量,任務不中斷 |
| 遷移 | 磁碟經常逼近上限,或主機無法穩定保留工具鏈 | 盤點專案、憑證、Runtime、快取和恢復步驟 | 搬遷後權限、路徑或簽名設定不一致 | 新環境完成依賴恢復、模擬器啟動、Archive 與分發 |
你可以用這份勾選清單完成驗收:
- [ ] 已記錄清理前的磁碟可用空間與各類資料夾大小。
- [ ] 已在 Xcode Components 核對要保留的 Runtime。
- [ ] 已分開處理模擬裝置資料、DerivedData、Archives 和依賴快取。
- [ ] 已確認正式版 Xcode 的回退路徑,沒有誤刪生產工具鏈。
- [ ] 已執行真實專案的依賴恢復和完整建置。
- [ ] 已啟動目標模擬器並完成基本回歸測試。
- [ ] 已產生 Archive,並確認簽名與分發流程仍可用。
- [ ] 已在重新建置後再次檢查磁碟水位,而不只看 Finder 是否暫時多出空間。
經驗: Finder 顯示可用空間增加,不代表維護成功。真正的驗收是清理後能否恢復依賴、啟動模擬器、完成建置和 Archive;對持續建置主機而言,重新建置後的水位更重要。
05 常見問題
FAQ 已獨立整理在下方,方便你按實際工作負載快速核對。
iOS 27 Simulator Runtime 可以安全刪除嗎
可以,但前提是它不在你的最低支援版本、主要使用版本或 iOS 27 適配測試矩陣內。請優先使用 Xcode Components 移除,並保留重新下載所需的網路與權限條件。論壇中的個別權限異常只能視為使用者報告,不能當成普遍結果。
刪除模擬設備和刪除模擬器運行時有什麼區別
模擬裝置是虛擬硬體與其使用者資料;Runtime 是提供 iOS 執行環境的元件。刪除單一模擬裝置,主要影響該裝置的 App、設定和測試狀態。移除 Runtime 則會影響同版本下的所有模擬裝置,下一次測試可能需要重新安裝整個環境。
Xcode DerivedData 清理後會影響專案嗎
會影響建置快取和索引,但不應影響專案原始碼。清理後 Xcode 需要重新索引、解析部分依賴並重新編譯,因此第一次建置可能較慢。簽名材料應放在獨立且可備份的位置,不要把它們當作 DerivedData 的替代品或清理對象。
遠端 Mac 磁碟經常被模擬器佔滿怎麼辦
先觀察增長來源,再設定模擬裝置、Archive、日誌和依賴快取的保留政策。若你必須長期保留多個 Runtime,而建置也持續產生產物,單靠清理只會讓任務週期性中斷。此時應比較擴容與遷移,並先驗證重啟後資料是否持久化。
06 清理後仍不夠,才考慮遠端 Mac
如果你的本地 Mac 只是偶爾測試,清理過期模擬裝置和 DerivedData 往往已能解決一次性膨脹。但當你需要長期保留 iOS 27 Runtime、多版本回歸環境、Archive 與依賴快取時,本地硬碟會面對三個現實限制:容量成長不可預測、清理會中斷測試、持續建置還會與日常開發爭用資源。
遠端 Mac 也不是所有情境的最佳答案。它需要穩定連線,並且要先確認資料持久化、權限和元件重裝方式。若你需要實體 USB、長期固定且高負載的本地工作站,自購 Mac 可能更直接。若只是要驗證遠端 Mac 能否承載目前的測試矩陣,可以先參考 CALMVPS 的遠端 Mac 方案 和 租用方案與價格,用實際專案觀察清理頻率、建置恢復和磁碟水位,再決定是否長期擴容。
當必要的 iOS 27 Runtime、Archive 和依賴無法在現有容量內穩定共存時,租用 CALMVPS 的遠端 Mac 會比在同一台容量不足的主機上反覆刪除資料更容易維護。先用真實工作負載驗證,再選擇合適租期,這比只根據 Finder 暫時多出的空間做決定可靠。