In Xcode I recently encountered an issue where all of my simulators disappeared. In Xcode the canvas would only show a preview for the macOS build and I had no option to preview for any other Apple platform.
The “Devices and Simulator” window was completely empty. The target platforms and simulators are listed as installed in Settings->Components screen in Xcode’s settings.
On the command line, we can confirm this by running xcrun simctl list. Here we see that there are no devices available.
% xcrun simctl list
== Device Types ==
iPhone 17 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro)
iPhone 17 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro-Max)
iPhone Air (com.apple.CoreSimulator.SimDeviceType.iPhone-Air)
[...]
Apple Vision Pro (com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro-4K)
Apple Vision Pro (at 2732x2048) (com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro)
== Devices ==
-- iOS 26.0 --
-- iOS 26.1 --
-- iOS 26.1 --
-- iOS 26.3 --
-- watchOS 11.2 --
-- watchOS 11.4 --
-- watchOS 11.5 --
-- watchOS 26.1 --
-- watchOS 26.2 --
-- visionOS 26.1 --
-- visionOS 26.2 --
== Device Pairs ==
While I’m not sure how I got into this state, I was able to resolve it by manually recreating the devices in the “Devices and Simulators” window.
- click the ‘+’ button at the bottom left of the screen.
- select the device type from the drop-down
- select the desired runtime. This list will reflect the runtimes that you have installed on your device.
- click create.
From the command line, use the simctl create command to create new devices. This command takes takes a name, device type, and runtime as parameters.
use simctl list devicetypes to get the list of available device types.
% xcrun simctl list devicetypes
== Device Types ==
iPhone 17 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-17-Pro)
[...]
Apple Vision Pro (com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro-4K)
Apple Vision Pro (at 2732x2048) (com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro)
use simctl list runtimes to get a list of available runtimes.
% xcrun simctl list runtimes
== Runtimes ==
iOS 26.0 (26.0 - 23A339) - com.apple.CoreSimulator.SimRuntime.iOS-26-0
iOS 26.1 (26.1 - 23B80) - com.apple.CoreSimulator.SimRuntime.iOS-26-1
iOS 26.1 (26.1 - 23B86) - com.apple.CoreSimulator.SimRuntime.iOS-26-1
iOS 26.3 (26.3.1 - 23D8133) - com.apple.CoreSimulator.SimRuntime.iOS-26-3
watchOS 26.1 (26.1 - 23S36) - com.apple.CoreSimulator.SimRuntime.watchOS-26-1
watchOS 26.2 (26.2 - 23S303) - com.apple.CoreSimulator.SimRuntime.watchOS-26-2
visionOS 26.1 (26.1 - 23N47) - com.apple.CoreSimulator.SimRuntime.xrOS-26-1
visionOS 26.2 (26.2 - 23N301) - com.apple.CoreSimulator.SimRuntime.xrOS-26-2
Using simctl create we can now create our device by supplying the name, device type and runtime. Both device types and runtimes can be specified by using their name or FQDN.I personally prefer FQDN so that’s what I’ll use.
% xcrun simctl create "TestAVP" com.apple.CoreSimulator.SimDeviceType.Apple-Vision-Pro-4K com.apple.CoreSimulator.SimRuntime.xrOS-26-2
4F8B10C1-90F3-4E91-8A73-AED33CACE123
Now we should be able to see the newly created device if we run the list command. Note: We provided -v devices and the search term visionOS to filter out unwanted results.
% xcrun simctl list -v devices visionOS
== Devices ==
-- iOS 26.0 (23A339) [/Library/Developer/CoreSimulator/Volumes/iOS_23A339/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.0.simruntime] --
-- iOS 26.1 (23B80) [/Library/Developer/CoreSimulator/Volumes/iOS_23B80/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.1.simruntime] --
-- iOS 26.1 (23B86) [/Library/Developer/CoreSimulator/Volumes/iOS_23B86/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.1.simruntime] --
-- iOS 26.3 (23D8133) [/Library/Developer/CoreSimulator/Volumes/iOS_23D8133/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 26.3.simruntime] --
-- watchOS 11.2 (22S99) [/Library/Developer/CoreSimulator/Volumes/watchOS_22S99/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS 11.2.simruntime] --
-- watchOS 11.4 (22T250) [/Library/Developer/CoreSimulator/Volumes/watchOS_22T250/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS 11.4.simruntime] --
-- watchOS 11.5 (22T572) [/Library/Developer/CoreSimulator/Volumes/watchOS_22T572/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS 11.5.simruntime] --
-- watchOS 26.1 (23S36) [/Library/Developer/CoreSimulator/Volumes/watchOS_23S36/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS 26.1.simruntime] --
-- watchOS 26.2 (23S303) [/Library/Developer/CoreSimulator/Volumes/watchOS_23S303/Library/Developer/CoreSimulator/Profiles/Runtimes/watchOS 26.2.simruntime] --
-- visionOS 26.1 (23N47) [/Library/Developer/CoreSimulator/Volumes/xrOS_23N47/Library/Developer/CoreSimulator/Profiles/Runtimes/xrOS 26.1.simruntime] --
-- visionOS 26.2 (23N301) [/Library/Developer/CoreSimulator/Volumes/xrOS_23N301/Library/Developer/CoreSimulator/Profiles/Runtimes/xrOS 26.2.simruntime] --
TestAVP (4F8B10C1-90F3-4E91-8A73-AED33CACE123) (Shutdown)