How to clear Xcode DerivedData, simulators and device support

Updated September 2026 · 5 min read

Xcode is one of the biggest space hogs on a developer's Mac, and it almost never cleans up after itself. These are the safest places to reclaim space, biggest first.

1. Old simulator runtimes (often 8+ GB each)

xcrun simctl runtime list
xcrun simctl runtime delete <identifier>

Keep the runtimes you test on. Removed runtimes can be re-downloaded from Xcode › Settings › Components.

2. Simulators you can't boot anymore

xcrun simctl delete unavailable

This removes simulators whose runtime is no longer installed. They're dead weight.

3. DerivedData

Build products and indexes for every project you've ever opened, in ~/Library/Developer/Xcode/DerivedData. It's safe to delete; Xcode rebuilds it (the next build is slower).

rm -rf ~/Library/Developer/Xcode/DerivedData/*

Quit Xcode first. rm -rf skips the Trash, so double-check the path before pressing Return.

4. Device support files

~/Library/Developer/Xcode/iOS DeviceSupport gets a multi-gigabyte folder for every iOS version of every device you've connected. Delete the versions you no longer test on; Xcode re-creates them when a device with that version connects.

5. Archives (be careful)

~/Library/Developer/Xcode/Archives holds builds you've shipped, including the dSYM files you need to read crash reports. Only delete archives of versions nobody uses anymore.

Rather not do this by hand? Storage Cleaner finds DerivedData, simulator runtimes, dead simulators and device support files in one scan, shows when you last used each one, and removes them safely with Undo.

Try Storage Cleaner free