Xcode is the largest single disk consumer most Mac users ever install — and its appetite hides in four separate places, none of them shown in Storage settings. A working iOS developer routinely carries 20-60 GB of reclaimable weight.
| What | Path | Typical size |
|---|---|---|
| Simulator runtimes & devices | ~/Library/Developer/CoreSimulator | 8-40 GB |
| DerivedData (per-project builds) | ~/Library/Developer/Xcode/DerivedData | 2-20 GB |
| Archives (every App Store upload) | ~/Library/Developer/Xcode/Archives | 1-15 GB |
| iOS device support files | ~/Library/Developer/Xcode/iOS DeviceSupport | 2-10 GB |
# delete simulators no device needs
xcrun simctl delete unavailable
# list then wipe DerivedData (Xcode rebuilds it on demand)
du -sh ~/Library/Developer/Xcode/DerivedData/* 2>/dev/null
rm -rf ~/Library/Developer/Xcode/DerivedData/*
# archives: keep the latest per app, delete the rest manually
open ~/Library/Developer/Xcode/Archives
DerivedData deletion is always safe — next build just recompiles (slower once). Simulator deletion is safe for runtimes your projects do not target. Archives are your uploaded-build history: keep at least the last shipped version for symbolication.
In Xcode → Settings → Locations, DerivedData path can move to an external drive; simulators can be pruned per project with xcrun simctl delete. A monthly 60-second sweep keeps the total flat. If you would rather automate the sweep, MacCleaner PRO covers Xcode leftovers alongside the usual caches.
Xcode is the biggest but not the only hidden eater — see System Data explained, the Homebrew cleanup, and for a quick total the disk waste estimator.