← All guides

Delete old iOS simulator runtimes

CacheCleaner guides · Updated July 18, 2026

Each runtime is 5-8 GB, and Xcode keeps them all. Every iOS/watchOS/tvOS/visionOS version you ever ran a simulator on is still mounted as a disk image. Deleting old ones is safe – Xcode offers to re-download a runtime whenever a simulator needs it.

List what's installed

xcrun simctl runtime list

You'll see entries like iOS 17.0 (21A328) – 7.2 GB with a UUID per runtime image.

Delete one runtime

xcrun simctl runtime delete <UUID>

This is the supported way – it unmounts and removes the runtime image cleanly. Keep only the versions your apps actually target for testing.

The GUI way

  1. System Settings → General → Storage → Developer – shows runtimes and lets you delete them.
  2. Xcode → Settings → Platforms – select a platform version and press .

Related junk worth checking

Unavailable simulators (devices left behind by old Xcode versions) and orphaned XCTest clones also pile up. Terminal:

xcrun simctl delete unavailable

CacheCleaner lists every runtime with its real size next to unavailable simulators, dyld caches, DerivedData and the rest of the Xcode junk drawer – and deletes runtimes through the same safe simctl path.

Get CacheCleaner for Mac