Skip to content

"iOS is not installed" in Xcode: downloading platforms, and the runtimes left behind afterwards

Xcode no longer ships with simulators built in, so a fresh install can refuse to build. How to get the platform, and how to remove old runtimes that stay forever.

5 min read

You install Xcode, open a project, and the build stops with a message that the iOS platform is not installed and needs to be downloaded first. Since Xcode 15, the simulator platforms for iOS, watchOS, tvOS and visionOS are separate downloads. That keeps Xcode itself smaller, and moves the space somewhere less obvious.

Getting the platform

  • In Xcode, open Settings and the Platforms (or Components) tab, then click Get next to the platform.
  • From Terminal, which is useful on a build machine:
xcodebuild -downloadPlatform iOS

Each platform is several gigabytes. If the download fails, check free space first. Our guide to how much space Xcode needs has realistic totals.

Where they go, and why they pile up

Runtimes are stored outside Xcode, so they survive Xcode updates and even deleting Xcode. Every major iOS version you have installed for testing is still there.

xcrun simctl runtime list

That lists each runtime with its identifier, version and state. To remove one you no longer test against:

xcrun simctl runtime delete <identifier>
# or every runtime not used by any installed Xcode
xcrun simctl runtime delete unavailable

Simulator devices are separate again

Each simulated device you created has its own data, apps and caches, stored per device. Removing devices for runtimes you no longer have is a second, separate cleanup:

xcrun simctl delete unavailable

Our iOS Simulator guide covers device data in more depth, and Xcode previews covers the preview simulators that are easy to miss.

Common questions

Why does Xcode say iOS is not installed?

Since Xcode 15 the simulator platforms are separate downloads. Download it from Xcode's Settings, Platforms or Components tab, or run xcodebuild -downloadPlatform iOS.

How do I delete old iOS simulator runtimes?

List them with xcrun simctl runtime list, then remove one with xcrun simctl runtime delete followed by its identifier. Runtimes are not removed when you update or delete Xcode.

How big is an iOS simulator runtime?

Several gigabytes each. Keeping runtimes for several past iOS versions can add up to tens of gigabytes.

Read next