Boot an iOS Simulator with xcrun simctl
simctl boots, shuts down, and installs apps on Simulator devices entirely from the shell — no Xcode required.
Run `xcrun simctl boot "iPhone 16"` to boot a device headlessly, then `open -a Simulator` to show the window.
01Command
Command
$ xcrun simctl list devices available && xcrun simctl boot "iPhone 16" && open -a Simulator02What it does
simctl is the undocumented-in-Xcode-GUI powerhouse behind the Simulator app: list devices available shows bootable UDIDs and names, boot starts one in the background (useful for headless UI tests with xcodebuild), and install/launch push an .app bundle onto it. The device name must match exactly — copy it from simctl list or use the UDID instead. Every booted simulator keeps consuming RAM until you run simctl shutdown or `xcrun simctl shutdown all`.
03Risk
!Warning: Booted simulators accumulate memory and disk snapshots — shut them down or erase with `xcrun simctl erase` when done.
04Undo
Undo
$ xcrun simctl shutdown "iPhone 16"05Sources
- simctl(1) — macOS man pageEvidence: Documents simctl list, boot, shutdown, and install subcommands for controlling iOS Simulator devices.
Last verified: 2026-09-17 · Category: Developer