PC パソコン

Xcode Simulator Won’t Start: Causes and Fixes

When you try to run an iPhone or iPad app from Xcode, the Simulator may fail to start, get stuck while booting, or remain on a black screen.

The cause can range from a temporary Simulator state issue to a CoreSimulator service problem, corrupted virtual-device data, a missing or damaged Simulator runtime, an incorrect Xcode command-line tools selection, or low disk space.

This guide explains how to diagnose an Xcode Simulator that will not start and walks through several fixes, starting with the least disruptive options.

Common causes

  • A temporary problem with Simulator or CoreSimulator
  • Corrupted data for a specific simulated device
  • A missing or damaged iOS Simulator runtime
  • Old virtual devices or runtime information left behind after an Xcode update
  • Multiple Xcode versions installed while Command Line Tools points to a different one
  • Insufficient free disk space or memory on the Mac
  • An inconsistent service state after updating Xcode, Simulator, or macOS

Typical situations where this happens

You may see the problem in situations such as these:

  • You select a Simulator destination in Xcode, but the Simulator app never opens
  • Simulator opens but remains on the Apple logo or a black screen
  • The problem starts immediately after updating Xcode or macOS
  • Simulator becomes unstable after installing a new iOS runtime
  • Only one simulated device fails while other Simulator devices work normally

What to check first

1. Quit Xcode and Simulator

Quit both Xcode and Simulator, then reopen Xcode and try again. If the issue is only a temporary CoreSimulator state problem, this may be enough to recover.

2. Check available disk space

Simulator runtimes and virtual devices can consume several gigabytes of storage. If your Mac is low on free space, Simulator may fail to boot, update, or create devices correctly.

3. Check the available Simulator devices

Run the following command in Terminal:

xcrun simctl list devices

Confirm that the target device appears in the list and is not marked unavailable.

Fix 1: Shut down all Simulator devices

If the Simulator state is inconsistent, shut down every simulated device:

xcrun simctl shutdown all

Then quit Simulator and launch the app again from Xcode.

Fix 2: Erase the affected Simulator

If only one virtual device fails to boot, its data may be corrupted.

You can erase or recreate the affected Simulator from Xcode’s device-management interface. To erase all Simulator device data from Terminal, use:

xcrun simctl erase all

Warning: This removes apps, settings, login information, and test data stored in your Simulator devices. Check whether you need any of that data before erasing the devices.

Fix 3: Remove unavailable Simulator devices

After updating Xcode or Simulator runtimes, obsolete devices tied to older runtimes may remain on the system.

xcrun simctl delete unavailable

Restart Xcode afterward and check the available run destinations again.

Fix 4: Check or reinstall the Simulator runtime

If the runtime for the target OS is missing or damaged, Simulator may not boot correctly.

Open Xcode Settings and check the Components or Platforms-related section for the iOS or other Simulator runtime you need. Download or reinstall the runtime if necessary.

You can also list installed runtimes from Terminal:

xcrun simctl list runtimes

Fix 5: Verify the active Command Line Tools path

If you have multiple Xcode versions installed, command-line tools may be pointing to a different Xcode than the one you are using.

xcode-select -p

This shows the currently selected Developer Directory.

For a standard Xcode installation, you can switch it with:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

You can also verify the selected Command Line Tools version from Xcode Settings.

Fix 6: Restart the CoreSimulator service

If the Simulator service has stopped responding, quit Xcode and Simulator and restart the CoreSimulator service:

killall -9 com.apple.CoreSimulator.CoreSimulatorService

If the process is not running, Terminal may report an error. Restarting the Mac is also a valid alternative.

Fix 7: Create a new Simulator device

Creating a fresh simulated device is often faster than spending time repairing an existing one.

For example, if one iPhone Simulator fails to boot, create another iPhone model using an installed runtime and run the same project there.

If the new Simulator works, the original virtual device is likely the source of the problem rather than the Xcode project itself.

Fix 8: Update Xcode and macOS

Check whether your Xcode version, macOS version, and Simulator runtime are compatible. Older Xcode versions may not support newer runtimes.

This is especially important after an OS update or when working with beta software, where a matching Xcode version may be required.

Diagnostic order if Simulator still will not start

The following order makes it easier to narrow down the cause:

  1. Try a different Simulator device
  2. Run xcrun simctl list devices and check the device state
  3. Run xcrun simctl list runtimes and confirm the runtime
  4. Run xcrun simctl shutdown all
  5. Erase or recreate the affected Simulator
  6. Run xcode-select -p and verify the active Xcode path
  7. Restart the Mac
  8. Reinstall the Simulator runtime if necessary

If the issue occurs only with one project, the problem may be in the build settings, app launch code, or a dependency rather than Simulator itself. Running a new empty project on the same Simulator is a useful way to separate project issues from Simulator issues.

Summary

When Xcode Simulator will not start, it is usually more efficient to check the Simulator state, runtime, virtual-device data, and active Xcode path before reinstalling Xcode.

Start with xcrun simctl shutdown all, try another simulated device, and recreate the affected device if necessary. If the issue persists, check installed runtimes, Command Line Tools, and Xcode/macOS compatibility.

Because Simulator problems often affect only one virtual device, testing another Simulator first can quickly reveal whether the issue is device-specific or system-wide.