How to Clean Up Xcode DerivedData and iOS DeviceSupport Safely
If you have ever opened your Mac's storage settings and seen a massive, looming block of "System Data" or "Developer" files, you know the frustration of a shrinking SSD. For iOS developers, the struggle is constant: Xcode is a powerhouse, but its tendency to hoard cache and build artifacts can eat hundreds of gigabytes in no time.
Why Xcode Dominates Your Mac's Storage
For many of us, the Mac is the primary workstation. When you work with Xcode, you aren't just building an app; you are managing a complex ecosystem of build artifacts, simulators, and device support files. These files live primarily under the ~/Library/Developer directory, and they grow exponentially the more projects you touch.
The primary culprits are DerivedData and iOS DeviceSupport. Every time you build a project, Xcode generates intermediate files to speed up the next build. While necessary during the active development cycle, these files are often left behind long after the project is finished. Similarly, iOS DeviceSupport stores data for every version of iOS you have ever deployed to a physical device. If you have tested on an iPhone running iOS 15, 16, and 17, you likely have massive folders for each version sitting on your drive, even if you haven't touched those versions in months.
For owners of smaller SSDs, this isn't just a minor inconvenience; it’s a wall. You eventually hit a point where you can’t download a new simulator, install a new library, or even update your OS because Xcode has claimed every available megabyte.
Locating and Deleting DerivedData Manually
If you want to manually clean up xcode derived data ios device support, the first place to look is the DerivedData folder. The exact path is ~/Library/Developer/Xcode/DerivedData.
What exactly is this? Think of it as Xcode's "scratchpad." It contains the indexes, intermediate build products, and other files needed to compile your code. Because these are generated from your source code, they are safe to delete. If you delete them, the next time you build the project, Xcode will simply regenerate them. However, if you have 50 projects, you might have 50 folders in DerivedData that are no longer needed.
To clear this manually:
Open Finder and press
Cmd + Shift + G.Paste
~/Library/Developer/Xcode/DerivedDatainto the search bar.Identify folders for projects you are no longer actively working on.
Move those folders to the Trash.
While this works, doing it manually for every project is tedious and prone to human error. You have to remember which folders are active and which are "ghosts" from projects you finished six months ago.
Pruning Old iOS DeviceSupport Folders
The second major storage sink is the iOS DeviceSupport directory. This is where Xcode stores symbols and other data required to debug apps on physical devices.
Over time, this folder becomes a graveyard of old iOS versions. If you have ever plugged an iPhone 12 into your Mac to test an app, Xcode likely created a folder for that specific iOS version. Even if you haven't plugged that phone in for a year, that folder remains.
To find these, navigate to ~/Library/Developer/DeviceSupport. You will see a list of folders named after the iOS versions (e.g., 16.5, 17.0). To safely remove these, you need to identify which versions you are still actively supporting. If you are only targeting the latest two versions of iOS, anything older is likely waste.
Manually auditing these folders is a chore. You have to cross-reference version numbers and decide what is safe to delete. One wrong move in a terminal command like rm -rf can cause issues with your current environment.
Automating and Simplifying Mac Developer Cleanups
The risk of manual cleanup is the "oops" factor. Using rm -rf in the terminal is a dangerous way to manage your home folder if you aren't constantly double-checking your paths. It is much safer to use a tool that understands the developer ecosystem.
This is where MAIMU comes in. Instead of you hunting through the ~/Library maze, MAIMU is designed to map out where your Mac's disk space actually went. It specifically identifies and labels common developer "waste" like DerivedData, iOS DeviceSupport, and various cache folders (including those for CocoaPods and Xcode).
MAIMU provides a visual sunburst and a table view of your folder tree, making it easy to see the scale of the problem. It identifies these files and provides a "safe/mind-this" label for caches, so you don't have to guess what is safe to delete.
The safety features are built into the core of the app:
Trash First: By default, MAIMU moves items to the Trash rather than deleting them permanently. This gives you a safety net.
Size Awareness: Any file over 250 MB is flagged as "large" and can only be moved to the Trash, never deleted directly.
Home Only: MAIMU is restricted to your home folder. It won't touch system files or external volumes.
No Hidden Actions: It doesn't run in the background or use a "cleaner" script. It only acts on the paths it has surfaced and you have confirmed.
MAIMU takes the guesswork out of the "clean up xcode derived data ios device support" process. It highlights the stale items (over 60 days old) and ancient items (over 180 days old), allowing you to clear out months of accumulated junk with a single click.
Download Maimu free to scan your Mac's Developer folder and see exactly how many gigabytes Xcode and iOS DeviceSupport are wasting.
