Old iOS simulator runtimes are eating your Mac
15 September 2026
Real numbers from the developer's own Mac.
Since Xcode 15, iOS simulator runtimes ship separately from Xcode. Every time you update Xcode or add a simulator for a new iOS version, a new runtime is downloaded. The old one is never removed. Each is 7 to 10 GB (iOS 26.5 is 10.6 GB). Seven of them is 55 GB, which is what one Mac had the first time we scanned it.
Why you can't find them
They are not folders. Xcode stores each runtime as a signed disk image (Apple calls it a cryptex) under /Library/Developer/CoreSimulator/Images and mounts it under /Library/Developer/CoreSimulator/Volumes. Finder shows almost nothing, du -sh under-reports them, and Storage settings lumps them into "System Data". The only tool that tells the truth is simctl.
List yours
xcrun simctl runtime list
Add -j for JSON. Each runtime carries a sizeBytes field, which is how ddeploy measures them:
xcrun simctl runtime list -j | grep -E '"(identifier|sizeBytes)"'
Delete the ones you don't use
Keep the runtime that matches the Xcode you build with, plus any iOS version you genuinely test on. Delete the rest. In Xcode: Settings → Components → Platforms, select a runtime, press the minus button. Or from Terminal, with the identifier from the list above:
xcrun simctl runtime delete 9ED6EEF8-95A8-49C9-B7B5-9EE8F4E04B11
Then clear out simulator devices whose runtime is now gone:
xcrun simctl delete unavailable
What it costs you
Nothing permanent. A deleted runtime is one download away (Xcode → Settings → Components) the next time you need that iOS version. Your projects, your apps and your simulators on the current runtime are untouched.
In ddeploy
The Developer section has an "Old iOS Runtimes" row. It reads sizes from simctl, the real number rather than du's guess, keeps the newest runtime, and preselects the rest. One click.
More on Mac storage: Project build folders · Docker Desktop disk space · Time Machine local snapshots · WhatsApp media on a Mac
See your own Mac itemised in under a minute. Free to scan.
Download ddeploy