NythyCleaner
← 部落格

如何在 Mac 上清理 Xcode 快取 (DerivedData、Archives、Simulators)

10 分鐘閱讀
#xcode#macos#開發者#derived-data#清理

如何在 Mac 上清理 Xcode 快取 (DerivedData、Archives、Simulators)

如果您開發 iOS 或 macOS 應用程式,Xcode 是最快耗盡磁碟空間的方式之一。DerivedDataArchives模擬器SwiftPM 快取可能在儲存空間概覽中不知不覺地增長到數十 GB。

本指南將解釋每個資料夾的作用、您可以安全刪除的內容,以及如何自動化清理。有關更廣泛的儲存策略,請參閱如何在 Mac 上釋放磁碟空間

為什麼 Xcode 佔用這麼多空間

Xcode 儲存了幾類獨立的資料:

  • DerivedData — 中間建置產品、索引和模組快取。可安全刪除;Xcode 會在下次編譯時重建。
  • Archives — 用於 App Store Connect 和臨時分發的發布版本。舊的歸檔通常會被遺忘。
  • 模擬器 — 完整的裝置執行時映像。移除未使用的執行時可釋放大量空間。
  • SwiftPM.build 下的檢出和建置產物以及 SwiftPM 快取。
  • 裝置支援 — 連接的 iOS 裝置的符號;如果您不再測試那些 OS 版本,可以移除舊版本。

這些都不是「您的原始碼」。它們是可重現的產物,這就是為什麼刪除它們通常風險較低的原因。

手動清理 DerivedData

  1. 退出 Xcode。
  2. 開啟 Finder 並按下 Shift + Command + G
  3. 貼上:~/Library/Developer/Xcode/DerivedData
  4. 刪除內容(或整個資料夾)。Xcode 將會重新建立它。

或者,在 Xcode 中:設定 → 位置 → Derived Data 並點擊箭頭在 Finder 中開啟資料夾。

移除舊的 Archives

Archives 位於:

~/Library/Developer/Xcode/Archives

每個帶日期的資料夾都是一個 Xcode 歸檔。刪除您不再需要發布或偵錯的舊版本歸檔。如果您仍然需要符號化這些建置的崩潰日誌,請保留最近的歸檔。

修剪模擬器執行時

  1. 開啟 Xcode → 設定 → 平台(或舊版 Xcode 上的 組件)。
  2. 移除您不再使用的 iOS/watchOS/tvOS 執行時。

您也可以刪除 ~/Library/Developer/CoreSimulator 下的資料 — 但最好先透過 Xcode 移除平台,以避免破壞活動專案。

SwiftPM 和 CocoaPods

  • SwiftPM: ~/Library/Caches/org.swift.swiftpm 下的檢出和專案 .build 資料夾。
  • CocoaPods: Pods 資料夾可以使用 pod install 重新生成。

如果您不確定,在刪除專案內的大型資料夾之前,請保留備份或使用版本控制。

使用 NythyCleaner 自動化 Xcode 清理

NythyCleaner 包含一個「開發者 / Xcode」部分,它會掃描常見的開發者路徑,總結每個類別使用了多少空間,並讓您在一個工作流程中清理它們。您可以將其與以下內容搭配使用:

  • 磁碟空間 — 樹狀圖視圖,查看 Xcode 之外的空間去向。
  • 系統清理 — Xcode 旁邊累積的快取和日誌。

安全檢查清單

  • 在刪除 DerivedData 或大型模擬器資料之前關閉 Xcode。
  • 除非您有意為之,否則不要刪除您的 ~/Developer 或專案資料夾。
  • 如果您仍然需要上傳或偵錯匹配的建置,請保留最近的 App Store 歸檔。

總結

位置典型內容可安全刪除?
DerivedData建置輸出、索引是(會重建)
ArchivesIPA/IPA 相關歸檔是,如果已過時
Simulators執行時映像是,未使用的執行時
SwiftPM caches依賴項、建置通常是

定期清理 Xcode 快取可以保持 SSD 快速運行,並避免在建置期間出現意外的「磁碟已滿」錯誤。