BS
BleepingSwift
Published on

> Fixing iOS Simulator That Won't Launch or Boot

Authors
  • avatar
    Name
    Mick MacCallum
    Twitter
    @0x7fs

The iOS Simulator is essential for development, but it has a reputation for occasionally refusing to cooperate. You hit Run, the simulator window appears, and then... nothing. Just a black screen, an endless Apple logo, or a cryptic error. These issues almost always have solutions, but finding the right one requires some diagnosis.

Identify the Symptom

The fix depends on exactly what's happening. Watch carefully when you try to launch:

Black screen with no content usually means the simulator booted but your app didn't install or launch.

Apple logo that never progresses indicates the simulator itself is stuck booting.

"Unable to boot the Simulator" error means something is preventing the simulator from starting at all.

"Operation couldn't be completed" often points to disk space or permission issues.

Simulator launches but immediately crashes suggests a specific simulator runtime is corrupted.

Quick Fixes to Try First

Before doing anything drastic, try these:

Choose a different simulator. In Xcode's device menu, select a different device (say, iPhone 15 instead of iPhone 15 Pro). If that works, the problem is specific to one simulator, not the system.

Erase the simulator. Open Simulator.app (or find it in Xcode under Window → Devices and Simulators), right-click the problematic device, and choose "Erase All Content and Settings." This wipes the simulated device's data and often fixes corrupted state.

Boot the simulator manually. Open Simulator.app directly (rather than through Xcode), go to File → Open Simulator, and pick a device. If it boots here but not from Xcode, the problem is in Xcode's configuration, not the simulator itself.

Restart Xcode. Quit Xcode completely and relaunch. The simulator connection sometimes gets into a bad state that a restart clears.

Clear CoreSimulator Data

If a specific simulator is corrupted beyond what "Erase" fixes, you can delete its data manually. First, find the device's UUID:

xcrun simctl list devices

This outputs a list of simulators with their identifiers. Find the one that's failing and note the UUID in parentheses. Then delete its data:

rm -rf ~/Library/Developer/CoreSimulator/Devices/[UUID]

The next time you try to launch that simulator, Xcode recreates it fresh.

To delete all simulator data (the nuclear option for simulator issues):

rm -rf ~/Library/Developer/CoreSimulator/Devices/*

You'll need to re-download any additional simulator runtimes you had installed.

Check Disk Space

Simulators need several gigabytes of free disk space to boot and run. If your disk is nearly full, simulators may fail silently or with unhelpful errors.

Check your available space in Finder or with:

df -h /

If you're low, delete old simulator runtimes you don't need (in Xcode under Settings → Platforms) or clear out DerivedData:

rm -rf ~/Library/Developer/Xcode/DerivedData

DerivedData can grow enormous and is safe to delete—Xcode rebuilds what it needs.

Reset the Simulator Service

Sometimes the simulator background services get stuck. You can restart them:

killall -9 com.apple.CoreSimulator.CoreSimulatorService

Or more aggressively, shut down all simulators and restart the service:

xcrun simctl shutdown all
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService

After running these, try launching the simulator again.

Check for Rosetta Issues (Apple Silicon Macs)

If you're on an Apple Silicon Mac and trying to run older simulator runtimes (like iOS 13 or 14), they may require Rosetta. Install it if you haven't:

softwareupdate --install-rosetta

Some older simulators also simply don't work on Apple Silicon. If you're trying to run a very old iOS version, you may be stuck using an Intel Mac or an actual device.

Reinstall Simulator Runtimes

If a specific iOS version's simulators all fail, the runtime may be corrupted. Remove and reinstall it:

  1. Open Xcode Settings (⌘,)
  2. Go to the Platforms tab
  3. Select the problematic runtime and click the minus button to remove it
  4. Click the plus button to download and install it again

This downloads a fresh copy of the simulator runtime, which fixes corruption.

Permissions Issues

Rarely, file permissions prevent the simulator from accessing its data. Reset permissions on the simulator directory:

chmod -R u+rwX ~/Library/Developer/CoreSimulator

If you see "Operation not permitted" errors even after this, check that Terminal (or your terminal app) has Full Disk Access in System Settings → Privacy & Security → Full Disk Access.

After macOS Updates

Simulator issues often appear after macOS updates. Apple sometimes changes security settings or filesystem behaviors that affect simulators.

After updating macOS:

  1. Launch Xcode and let it install any required components
  2. Open Settings → Platforms and verify your simulator runtimes are still present
  3. If prompted to install additional components, do so
  4. Try booting a simulator

If simulators worked before the update and don't after, clearing CoreSimulator data (as described above) usually resolves it.

When Nothing Works

If you've tried everything and simulators still won't boot, the final option is reinstalling Xcode entirely. Delete /Applications/Xcode.app, download a fresh copy from the Mac App Store or developer.apple.com, and install it.

This is time-consuming but resolves deep corruption that survives cache clearing. Make sure to also delete ~/Library/Developer/Xcode to get a truly clean slate (you'll lose your Xcode settings and any installed tools, so export anything important first).

Simulator issues are frustrating, but they're almost always fixable. Work through these steps systematically, and you'll find the one that gets you running again.

subscribe.sh

// Stay Updated

Get notified when I publish new tutorials on Swift, SwiftUI, and iOS development. No spam, unsubscribe anytime.

>

By subscribing, you agree to our Privacy Policy.