What’s safe to delete in ~/Library/Developer
Xcode keeps build products, simulators, device symbols and archives in your home folder. Over months they can grow to tens of gigabytes and show up in macOS as “System Data”. This guide explains what each folder holds, what removing it costs, and how cautious to be. You can do every step by hand in Finder; DevCleanr applies the same rules for you.
Before you delete anything
- Quit Xcode, Simulator and any running builds. Files that are in use can come back half-written.
- Move folders to the Trash instead of deleting them, and empty the Trash only after your next build and simulator run work.
- Never delete a project’s source folder, a folder a symbolic link points to, or anything inside Xcode.app.
Safe to remove
Xcode or the tool that made these files rebuilds them when needed. The cost is time: the next build, index or package resolve is slower.
~/Library/Developer/Xcode/DerivedData- Build intermediates and indexes. Usually the largest folder. Xcode rebuilds what it needs the next time you open and build a project. If you set a custom location in Xcode › Settings › Locations, look there instead.
~/Library/Caches/com.apple.dt.Xcodeand~/Library/Developer/Xcode/UserData/Previews- Xcode’s own caches and SwiftUI preview data. Recreated as needed.
~/Library/Developer/CoreSimulator/Cachesand~/Library/Caches/com.apple.CoreSimulator- Simulator cache data and generated runtime artifacts. Recreated the next time a simulator runs.
~/Library/Caches/org.swift.swiftpm- Downloaded Swift packages. They download again; the next resolve takes longer.
~/Library/Caches/CocoaPods- Downloaded pods. They download again on the next install.
Review before you remove
These can hold something you will want later, or cost more than time to replace.
~/Library/Developer/Xcode/Archives- Your distribution history. Each archive includes the debug symbols you need to read crash reports from that build. Keep the archives of every version people still run.
~/Library/Developer/Xcode/iOS DeviceSupport- Symbol files Xcode prepares for each OS version of a device you connect. Folders for OS versions you no longer test on can go; Xcode prepares them again if you connect such a device.
~/Library/Developer/CoreSimulator/Devices- Your simulators, including the apps and data installed on them. Remove simulators from Xcode’s Devices and Simulators window, or remove unavailable ones in Terminal with
xcrun simctl delete unavailable, rather than deleting folders by hand. Never touch a simulator that is running. ~/.swiftpmand~/.cocoapods- Package manager configuration and spec repositories. CocoaPods can download its specs again, but slowly; check what you have configured before removing either.
~/Library/Caches/Homebrew- Downloaded Homebrew installers. Running
brew cleanupis Homebrew’s own way to trim it. ~/Library/Logs/com.apple.dt.Xcodeand~/Library/Logs/CoreSimulator- Diagnostic history. Small, but useful when you are chasing a problem.
Not in your home folder
Simulator runtimes, often the biggest single items, live outside ~/Library/Developer. Remove the ones you no longer need in Xcode › Settings › Components.
How DevCleanr does this for you
DevCleanr is a Mac app that scans these ten storage categories, shows each item’s path and size, and labels it Safe, Review, Needs Care or Not cleaned, with the explanations above. It moves only what you choose to the Trash, re-checks every path first, skips symbolic links and source folders, and waits while Xcode, Simulator or build tools run. Scanning and cleaning Safe items from the menu bar are free; Lifetime Access adds cleanup after Xcode quits, reminders, threshold alerts, custom paths and history insights. It requires macOS 26.5 or later.
