Skip to content

Simulator Management

This guide covers creating and managing simulators for testing across multiple device types and OS versions.

Before creating simulators, check what runtimes and device types are installed:

“What iOS simulator runtimes do I have installed?”

Available Runtimes:
iOS 17.5 (com.apple.CoreSimulator.SimRuntime.iOS-17-5)
iOS 18.0 (com.apple.CoreSimulator.SimRuntime.iOS-18-0)
watchOS 11.0 (com.apple.CoreSimulator.SimRuntime.watchOS-11-0)
tvOS 18.0 (com.apple.CoreSimulator.SimRuntime.tvOS-18-0)
visionOS 2.0 (com.apple.CoreSimulator.SimRuntime.xrOS-2-0)

“What simulator device types are available?”

Available Device Types:
iPhone SE (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPhone-SE-3rd-generation)
iPhone 15 (com.apple.CoreSimulator.SimDeviceType.iPhone-15)
iPhone 15 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro)
iPhone 15 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro-Max)
iPhone 16 (com.apple.CoreSimulator.SimDeviceType.iPhone-16)
iPhone 16 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro)
iPhone 16 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro-Max)
iPad Air (M2) (com.apple.CoreSimulator.SimDeviceType.iPad-Air-M2)
iPad Pro 13-inch (M4) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4)
...

“Create an iPhone 16 Pro simulator with iOS 18”

{
"name": "iPhone 16 Pro - iOS 18",
"deviceTypeId": "com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro",
"runtimeId": "com.apple.CoreSimulator.SimRuntime.iOS-18-0"
}

Create simulators for the most common screen sizes:

“Create simulators for iPhone SE, iPhone 16, iPhone 16 Pro Max, and iPad Pro 13-inch, all on iOS 18”

This executes simulator_create four times:

NameDevice TypeUse Case
iPhone SE - iOS 18iPhone SE (3rd generation)Smallest screen
iPhone 16 - iOS 18iPhone 16Standard size
iPhone 16 Pro Max - iOS 18iPhone 16 Pro MaxLargest iPhone
iPad Pro 13-inch - iOS 18iPad Pro 13-inch (M4)Tablet layout

“Create an iPhone 15 simulator on iOS 17.5 for backward compatibility testing”

{
"name": "iPhone 15 - iOS 17.5 (compat)",
"deviceTypeId": "com.apple.CoreSimulator.SimDeviceType.iPhone-15",
"runtimeId": "com.apple.CoreSimulator.SimRuntime.iOS-17-5"
}
  1. Boot the simulator

    “Boot the iPhone 16 Pro simulator”

  2. Open Simulator.app

    “Open the Simulator app for iPhone 16 Pro”

    This displays the simulator window so you can see what’s happening.

  3. Use the simulator — install apps, run tests, capture screenshots

  4. Shutdown when done

    “Shut down all simulators”

    Or target a specific one:

    “Shut down the iPhone SE simulator”

Clone an existing simulator to run tests in parallel without affecting the original:

“Clone the iPhone 16 simulator as ‘iPhone 16 - Test A’”

{
"deviceId": "F3A1B2C3-D4E5-6789-ABCD-EF0123456789",
"newName": "iPhone 16 - Test A"
}

Erase all data from a simulator without deleting it:

“Erase the iPhone 16 simulator to start fresh”

{
"deviceId": "F3A1B2C3-D4E5-6789-ABCD-EF0123456789"
}

This removes all installed apps, accounts, and settings — like a factory reset.

“Delete the test clone simulator”

{
"deviceId": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890"
}

After updating Xcode, old simulators may become “unavailable”. Clean them up:

“Delete all unavailable simulators”

{
"deviceId": "unavailable"
}

Test push notifications on a booted simulator:

“Send a push notification to my weather app on the iPhone 16 simulator”

{
"deviceId": "F3A1B2C3-D4E5-6789-ABCD-EF0123456789",
"bundleId": "com.example.weatherapp",
"payload": "{\"aps\":{\"alert\":{\"title\":\"Weather Alert\",\"body\":\"Severe thunderstorm warning for your area\"},\"badge\":1,\"sound\":\"default\"}}"
}

Test different notification types:

{
"aps": {
"alert": "You have a new message",
"badge": 3
}
}

Prepare simulators for App Store screenshots with a perfect status bar:

“Set up the status bar on iPhone 16 Pro for App Store screenshots”

{
"deviceId": "F3A1B2C3-D4E5-6789-ABCD-EF0123456789",
"time": "9:41",
"batteryLevel": 100,
"batteryState": "charged",
"wifiBars": 3,
"cellularBars": 4,
"operatorName": "",
"dataNetwork": "5g"
}

Then take screenshots across all your test devices for the App Store submission.