Xcode
Xcode DerivedData and DeviceSupport: the classic hidden giant
Xcode can quietly keep tens of gigabytes in build artifacts and simulator/device support files. This post explains where it grows and how to clean without breaking active projects.
Updated:
Read time: 6 min
Why this silently grows
Every build writes intermediate outputs, indexes, and debug data. When you switch branches, SDK versions, and test devices, these folders keep accumulating. Simulator runtimes and DeviceSupport folders are especially large because each iOS version can add a separate set of files.
How Free Mac Space finds it
The Xcode category scans dedicated development paths such as ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/Xcode/Archives, ~/Library/Developer/Xcode/iOS DeviceSupport, ~/Library/Developer/CoreSimulator, and Xcode-specific cache folders. Results are sorted by size so you can immediately see which workspace or simulator image is taking the most space.
How cleanup is handled
You review path, size, and modified time before selecting items. Cleanup-selectable entries are moved to Trash instead of being permanently deleted. If an item fails validation or is outside allowed roots, cleanup is blocked and recorded so nothing risky is deleted silently.
Safety boundary
Release archives can be business-critical. Free Mac Space does not auto-delete for you. It asks you to confirm each item and keeps a local cleanup audit log for traceability.
Paths covered in Free Mac Space
- ~/Library/Developer/Xcode/DerivedData
- ~/Library/Developer/Xcode/Archives
- ~/Library/Developer/Xcode/iOS DeviceSupport
- ~/Library/Developer/CoreSimulator
- ~/Library/Caches/com.apple.dt.Xcode
Recommended monthly check
- Sort by size and focus on stale DerivedData folders first.
- Keep recent Archives related to production releases.
- Re-run a scan after cleanup to verify recovered space.
Step-by-step workflow
1. Identify why Xcode storage keeps growing
Every build writes intermediate outputs, indexes, and debug data. When you switch branches, SDK versions, and test devices, these folders keep accumulating. Simulator runtimes and DeviceSupport folders are especially large because each iOS version can add a separate set of files.
2. Inspect the highest-impact paths first
The Xcode category scans dedicated development paths such as ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/Xcode/Archives, ~/Library/Developer/Xcode/iOS DeviceSupport, ~/Library/Developer/CoreSimulator, and Xcode-specific cache folders. Results are sorted by size so you can immediately see which workspace or simulator image is taking the most space. Priority paths: ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/Xcode/Archives, ~/Library/Developer/Xcode/iOS DeviceSupport, ~/Library/Developer/CoreSimulator, ~/Library/Caches/com.apple.dt.Xcode.
3. Confirm the safety boundary before acting
Release archives can be business-critical. Free Mac Space does not auto-delete for you. It asks you to confirm each item and keeps a local cleanup audit log for traceability.
4. Apply a review-first cleanup workflow
You review path, size, and modified time before selecting items. Cleanup-selectable entries are moved to Trash instead of being permanently deleted. If an item fails validation or is outside allowed roots, cleanup is blocked and recorded so nothing risky is deleted silently.
5. Monthly validation step 1
Sort by size and focus on stale DerivedData folders first.
6. Monthly validation step 2
Keep recent Archives related to production releases.
7. Monthly validation step 3
Re-run a scan after cleanup to verify recovered space.
Frequently asked questions
What hidden storage sources are covered for Xcode?
Primary sources include DerivedData, Archives, iOS DeviceSupport, CoreSimulator. Every build writes intermediate outputs, indexes, and debug data. When you switch branches, SDK versions, and test devices, these folders keep accumulating. Simulator runtimes and DeviceSupport folders are especially large because each iOS version can add a separate set of files.
Which macOS paths should I inspect first?
Start with: ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/Xcode/Archives, ~/Library/Developer/Xcode/iOS DeviceSupport, ~/Library/Developer/CoreSimulator, ~/Library/Caches/com.apple.dt.Xcode. The Xcode category scans dedicated development paths such as ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/Xcode/Archives, ~/Library/Developer/Xcode/iOS DeviceSupport, ~/Library/Developer/CoreSimulator, and Xcode-specific cache folders. Results are sorted by size so you can immediately see which workspace or simulator image is taking the most space.
How can I reduce this storage safely?
You review path, size, and modified time before selecting items. Cleanup-selectable entries are moved to Trash instead of being permanently deleted. If an item fails validation or is outside allowed roots, cleanup is blocked and recorded so nothing risky is deleted silently. Release archives can be business-critical. Free Mac Space does not auto-delete for you. It asks you to confirm each item and keeps a local cleanup audit log for traceability.
What should the monthly review checklist look like?
Sort by size and focus on stale DerivedData folders first. Keep recent Archives related to production releases. Re-run a scan after cleanup to verify recovered space.