AskCleanAskClean問淨

如何在 Mac 上完整移除 Xcode,並保留專案與 dSYM

AskClean 團隊 · 更新於 2026-09-01

完整移除 Xcode 前,先備份原始碼專案,並保留仍供正式版本除錯使用的 Archives 與 dSYM。之後再移除 App,逐類檢查 DerivedData、模擬器、DeviceSupport 與命令列工具。

如何在 Mac 上完整移除 Xcode,並保留專案與 dSYM
完整移除 Xcode 前,先備份原始碼專案,並保留仍供正式版本除錯使用的 Archives 與 dSYM。之後再移除 App,逐類檢查 DerivedData、模擬器、DeviceSupport 與命令列工具。

移除前先保護不可重建的資料

專案目錄不是 Xcode 殘留。先確認所有 repository、未提交檔案、本機套件與資源已有備份;仍在 App Store、TestFlight 或客戶環境使用的版本,其 Archives/dSYM 也要保留。模擬器裝置可能含測試資料與登入狀態。

  1. 先結束 Xcode。Xcode 還在執行時刪 DerivedData,可能讓它的索引器陷入混亂,被 Xcode 開著的檔案也可能刪不乾淨。
  2. 找到資料夾:在 Xcode 開啟 Settings > Locations,點 DerivedData 路徑旁邊的小箭頭,就會在 Finder 顯示它。或者在 Finder 按 Command-Shift-G,直接輸入 ~/Library/Developer/Xcode/DerivedData。
  3. 把專案子資料夾按大小排序,選取要刪的(或 Command-A 全選),移到垃圾桶。先進垃圾桶是比較安全的習慣——反悔了隨時能立刻救回。
  4. 想改用終端機:rm -rf ~/Library/Developer/Xcode/DerivedData 一口氣刪光。處理超大資料夾時比 Finder 快,但使用前請先讀下面的注意事項。
  5. 重新開啟 Xcode 並建置。預期每個專案的第一次建置會明顯變慢,活動列也會顯示「Indexing」跑上一陣子——兩者都是一次性成本。

rm -rf 要小心:它會繞過垃圾桶直接永久刪除,沒有反悔的機會。路徑務必一字不差,做這件事絕對不要加 sudo;如果你對終端機不熟,走 Finder 一樣能完成,而且可以復原。

刪除 DerivedData

有三種做法,殊途同歸。Xcode 的 Clean Build Folder 指令(Product > Clean Build Folder,或 Command-Shift-K)只會清掉目前開啟專案的建置產物——修一次怪異的建置問題很好用,但對磁碟空間幾乎沒有影響。想拿回真正的空間,得直接刪 DerivedData 資料夾本身。

逐專案刪除是外科手術式的選項:留下你每天都在建置的那兩三個專案的 DerivedData,其餘全部移除。整個資料夾一次刪光則是快刀選項,也完全沒問題——只是所有專案的全量重建成本會一次付清。

依原本的安裝方式移除應用程式

先結束 Xcode 與 Simulator,再把正確的 Xcode.app 移到垃圾桶。不要順手刪除 /Library/Developer/CommandLineTools;Git、Homebrew、clang 與建置腳本仍可能依賴它。多個 Xcode 或 Beta 版本要分別確認。

套件管理器快取(SwiftPM、CocoaPods、npm、Homebrew)

套件管理器會把下載過的每個相依套件都留著,好讓之後安裝更快。這是好的工程設計,卻是糟糕的磁碟衛生:快取只進不出,在一台跑過幾年專案的機器上,不知不覺就累積到 10-20 GB。它們全都可以安全清除——最壞的情況也不過是下次安裝時重新下載。

Swift Package Manager 把下載的套件快取在 ~/Library/Caches/org.swift.swiftpm,各專案解析後的 checkout 也放在其 DerivedData 資料夾內——所以清 DerivedData 時那部分已經一併清掉了。共用快取可以直接在 Finder 刪,或對該路徑執行 rm -rf。

清空垃圾桶前完成驗證

重新檢查 Applications、執行中的程序與 xcode-select -p;確認專案、必要的 Archives/dSYM 與模擬器資料仍在,再清空垃圾桶。以各目錄前後大小為準,macOS 的「系統資料」可能稍後才更新。

完整解除安裝安全對照表

安全移除 Xcode,分開處理可重建快取、Archives、DeviceSupport、模擬器資料與 Command Line Tools。

決定檢查或操作位置影響與驗證
移除前先保護不可重建的資料Projects / Xcode Organizer / Archives專案目錄不是 Xcode 殘留。先確認所有 repository、未提交檔案、本機套件與資源已有備份;仍在 App Store、TestFlight 或客戶環境使用的版本,其 Archives/dSYM 也要保留。模擬器裝置可能含測試資料與登入狀態。
依原本的安裝方式移除應用程式/Applications/Xcode.app / Finder先結束 Xcode 與 Simulator,再把正確的 Xcode.app 移到垃圾桶。不要順手刪除 /Library/Developer/CommandLineTools;Git、Homebrew、clang 與建置腳本仍可能依賴它。多個 Xcode 或 Beta 版本要分別確認。
清空垃圾桶前完成驗證xcode-select -p / Activity Monitor重新檢查 Applications、執行中的程序與 xcode-select -p;確認專案、必要的 Archives/dSYM 與模擬器資料仍在,再清空垃圾桶。以各目錄前後大小為準,macOS 的「系統資料」可能稍後才更新。

常見問題

可以直接刪除整個 ~/Library/Developer 嗎?

不可以。它同時包含可重建的 DerivedData,以及 Archives/dSYM、DeviceSupport、runtime 和模擬器狀態,必須逐類判斷。

刪除 DerivedData 安全嗎?

安全——這是 Mac 上最安全的大型刪除之一。DerivedData 只包含 Xcode 從你的原始碼產生的檔案:建置產物、模組快取、索引與日誌。你的程式碼、專案檔與 git 歷史都放在別處,完全不受影響。唯一的後果是每個專案的下一次建置是全量重建,索引也會重跑。

多久該清一次 DerivedData?

沒有固定週期——大到礙事就清,對多數活躍開發者來說大約一兩個月一次。有兩個時機永遠值得清:急需磁碟空間的時候,以及某個專案出現無法解釋的建置錯誤或過期的程式碼補全時——這種情況下,砍掉 DerivedData 是標準的第一步修法。

參考來源

相關完整移除指南