Sometimes Xcode Simulator opens normally, but the simulated device screen stays completely black and never becomes usable. This can look like an app rendering bug, but it may also be caused by a corrupted Simulator state, an iOS Simulator runtime issue, graphics initialization, stale caches, or a stuck process.
This guide explains the most common causes of a black screen in Xcode Simulator and walks through practical checks and fixes.
- Common causes
- Typical situations
- What to check first
- Fix 1: Shut down all Simulators and restart
- Fix 2: Erase Simulator content and settings
- Fix 3: Create a new Simulator device
- Fix 4: Clear DerivedData
- Fix 5: Check the iOS Simulator runtime
- Fix 6: Check your app’s startup UI
- Fix 7: Inspect available Simulator devices and runtimes
- If the black screen still remains
- Important notes
- Summary
Common causes
- The Simulator boot state or one of its internal processes is stuck
- The selected Simulator device data or runtime is corrupted
- GPU or Metal rendering did not initialize correctly
- The app hangs immediately after launch and never updates the UI
- DerivedData or build caches contain stale data
- An Xcode or macOS update left the Simulator environment in an inconsistent state
Typical situations
- The Simulator window appears, but the entire device screen is black
- The Home Screen never appears even after waiting
- Only one specific Simulator device shows a black screen
- The issue starts after an Xcode update or after installing a new iOS Simulator runtime
- The Simulator itself works, but the screen turns black only after launching your app
What to check first
First determine whether the problem affects the Simulator itself or only your app.
- Launch Simulator by itself
- Check whether the Home Screen appears
- Try another Simulator device
- Run a different project and see whether the issue reproduces
If the Simulator Home Screen is also black, focus on the Simulator environment. If the black screen appears only after your app launches, inspect your app’s initial view, Scene, Window, and startup logic.
Fix 1: Shut down all Simulators and restart
A temporary CoreSimulator process problem can often be cleared by shutting down all Simulator devices.
xcrun simctl shutdown all
Then reopen Simulator and try again.
Fix 2: Erase Simulator content and settings
If the virtual device data is corrupted, reset the Simulator. You can erase the device from the Simulator menus or use the command line.
xcrun simctl erase all
This removes installed apps, settings, and stored data from your Simulator devices. Back up any test data you still need before erasing them.
Fix 3: Create a new Simulator device
If only one Simulator device shows the black screen, create a new device using the same iOS runtime and test again. If the new device works, the old device data was probably corrupted.
Fix 4: Clear DerivedData
If the black screen appears only when your app runs, stale build artifacts may be involved.
rm -rf ~/Library/Developer/Xcode/DerivedData/*
After clearing DerivedData, restart Xcode, use Clean Build Folder, and rebuild the project.
Fix 5: Check the iOS Simulator runtime
Open Xcode Settings and check the installed Platforms or Components. Make sure the iOS Simulator runtime you are using is installed correctly. If the issue started after adding or updating a runtime, test with another installed runtime as well.
Fix 6: Check your app’s startup UI
If Simulator works normally until your app launches, check the app’s initial UI configuration.
- For SwiftUI, confirm that WindowGroup presents a valid View
- For UIKit, confirm that the window has a rootViewController
- Check SceneDelegate and AppDelegate for startup failures
- Make sure synchronous startup work is not blocking the main thread for a long time
Fix 7: Inspect available Simulator devices and runtimes
You can inspect the Simulator devices and runtimes currently recognized by Xcode with the following commands.
xcrun simctl list devices
xcrun simctl list runtimes
If a device is marked Unavailable, or its required runtime is missing, delete and recreate that device or install the required runtime.
If the black screen still remains
Restart Xcode and macOS, then test another Simulator runtime. If the same black screen appears across multiple runtimes and multiple projects, the problem is more likely to be in Xcode or the Simulator environment than in your app.
Important notes
Do not erase every Simulator or delete all DerivedData immediately unless necessary. Start with a Simulator restart, test another device, and determine whether the issue affects all apps or only one project. This makes the root cause much easier to identify.
Summary
When Xcode Simulator shows a black screen, check for a stuck Simulator state, corrupted device data, runtime issues, rendering problems, and app startup logic. Start with xcrun simctl shutdown all, then move on to resetting or recreating the Simulator, clearing DerivedData, and checking installed runtimes if needed.
