Xcode cleaner
An Xcode cleaner that knows DerivedData from your project.
DevCleaner scans Xcode’s caches, labels each one Safe, Warning, or Danger, and leaves the risky rows unchecked. Safe cleanup is free.
Free to scan and clean safe caches. Pro for deep cleanup and automation.
What it looks at
| Location | What it is | Typical size | Label |
|---|---|---|---|
Xcode/DerivedData | Build intermediates, indexes, logs | 10 to 50 GB | Safe |
CoreSimulator/Caches | Simulator dyld caches | 2 to 10 GB | Safe |
Xcode/UserData/Previews | SwiftUI preview caches | 1 to 5 GB | Safe |
iOS DeviceSupport | Debug symbols per iOS version | 2 to 15 GB | Warning |
CoreSimulator/Devices | Simulators and their data | 5 to 60 GB | Warning |
Xcode/Archives | .xcarchive builds, including dSYMs | 1 to 20 GB | Warning |
Those sizes are the typical ranges from the DerivedData guide, not a promise for your Mac. DerivedData itself can be split into Compilation Cache, Module Cache, Symbol Cache, SDK Stat Caches, and per-project folders, so one cache can be reviewed without deleting every project.
The manual command
Quit Xcode first. Then:
du -sh ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/DerivedData
The next build of each project is a full rebuild. Do not delete DerivedData while a build is running. Swift Package Manager checkouts live inside it. Unavailable simulators are a different command, xcrun simctl delete unavailable, covered in how to remove old iOS simulators.
What the app adds
- It warns if Xcode is still running.
- Safe caches can be cleaned with Quick Clean. Warning rows, including old simulators, DeviceSupport, and archives, are not preselected.
- DeviceSupport keeps the two newest versions by default. Older versions are opt-in.
- Finder can overstate Compilation Cache size when files are sparse. See why Finder shows more than you can free.
DevCleaner is a menu bar app for macOS 14 or later, Apple silicon and Intel. It is Developer ID signed and notarized by Apple. David Tereba makes it in Prague.