如何在 Mac 上清理 Xcode 快取 (DerivedData、Archives、Simulators)
10 分鐘閱讀
#xcode#macos#開發者#derived-data#清理
如何在 Mac 上清理 Xcode 快取 (DerivedData、Archives、Simulators)
如果您開發 iOS 或 macOS 應用程式,Xcode 是最快耗盡磁碟空間的方式之一。DerivedData、Archives、模擬器和 SwiftPM 快取可能在儲存空間概覽中不知不覺地增長到數十 GB。
本指南將解釋每個資料夾的作用、您可以安全刪除的內容,以及如何自動化清理。有關更廣泛的儲存策略,請參閱如何在 Mac 上釋放磁碟空間。
為什麼 Xcode 佔用這麼多空間
Xcode 儲存了幾類獨立的資料:
- DerivedData — 中間建置產品、索引和模組快取。可安全刪除;Xcode 會在下次編譯時重建。
- Archives — 用於 App Store Connect 和臨時分發的發布版本。舊的歸檔通常會被遺忘。
- 模擬器 — 完整的裝置執行時映像。移除未使用的執行時可釋放大量空間。
- SwiftPM —
.build下的檢出和建置產物以及 SwiftPM 快取。 - 裝置支援 — 連接的 iOS 裝置的符號;如果您不再測試那些 OS 版本,可以移除舊版本。
這些都不是「您的原始碼」。它們是可重現的產物,這就是為什麼刪除它們通常風險較低的原因。
手動清理 DerivedData
- 退出 Xcode。
- 開啟 Finder 並按下 Shift + Command + G。
- 貼上:
~/Library/Developer/Xcode/DerivedData - 刪除內容(或整個資料夾)。Xcode 將會重新建立它。
或者,在 Xcode 中:設定 → 位置 → Derived Data 並點擊箭頭在 Finder 中開啟資料夾。
移除舊的 Archives
Archives 位於:
~/Library/Developer/Xcode/Archives
每個帶日期的資料夾都是一個 Xcode 歸檔。刪除您不再需要發布或偵錯的舊版本歸檔。如果您仍然需要符號化這些建置的崩潰日誌,請保留最近的歸檔。
修剪模擬器執行時
- 開啟 Xcode → 設定 → 平台(或舊版 Xcode 上的 組件)。
- 移除您不再使用的 iOS/watchOS/tvOS 執行時。
您也可以刪除 ~/Library/Developer/CoreSimulator 下的資料 — 但最好先透過 Xcode 移除平台,以避免破壞活動專案。
SwiftPM 和 CocoaPods
- SwiftPM:
~/Library/Caches/org.swift.swiftpm下的檢出和專案.build資料夾。 - CocoaPods:
Pods資料夾可以使用pod install重新生成。
如果您不確定,在刪除專案內的大型資料夾之前,請保留備份或使用版本控制。
使用 NythyCleaner 自動化 Xcode 清理
NythyCleaner 包含一個「開發者 / Xcode」部分,它會掃描常見的開發者路徑,總結每個類別使用了多少空間,並讓您在一個工作流程中清理它們。您可以將其與以下內容搭配使用:
安全檢查清單
- 在刪除 DerivedData 或大型模擬器資料之前關閉 Xcode。
- 除非您有意為之,否則不要刪除您的
~/Developer或專案資料夾。 - 如果您仍然需要上傳或偵錯匹配的建置,請保留最近的 App Store 歸檔。
總結
| 位置 | 典型內容 | 可安全刪除? |
|---|---|---|
| DerivedData | 建置輸出、索引 | 是(會重建) |
| Archives | IPA/IPA 相關歸檔 | 是,如果已過時 |
| Simulators | 執行時映像 | 是,未使用的執行時 |
| SwiftPM caches | 依賴項、建置 | 通常是 |
定期清理 Xcode 快取可以保持 SSD 快速運行,並避免在建置期間出現意外的「磁碟已滿」錯誤。