An Xcode/CoreSimulator command line utility to control iOS Simulators on MacOS
simctl [--set <path>] [--profiles <path>] <subcommand> ...
simctl help [subcommand]
Command | Description |
---|---|
addmedia | Add photos, live photos, videos, or contacts to the library of a device |
boot | Boot a device |
clone | Clone an existing device |
create | Create a new device |
delete | Delete spcified devices, unavailable devices, or all devices |
diagnose | Collect diagnostic information and logs |
erase | Erase a device's contents and settings |
get_app_container | Print the path of the installed app's container |
getenv | Print an environment variable from a running device |
help | Prints the usage for a given subcommand |
icloud_sync | Trigger iCloud sync on a device |
install | Install an app on a device |
io | Set up a device IO operation |
keychain | Manipulate a device's keychain |
launch | Launch an application by identifier on a device |
list | List available devices, device types, runtimes, or device pairs |
logverbose | enable or disable verbose logging for a device |
openurl | Open a URL in a device |
pair | Create a new watch and phone pair |
pair_activate | Set a given pair as active |
pbcopy | Copy standard input onto the device pasteboard |
pbpaste | Print the contents of the device's pasteboard to standard output |
pbsync | Sync the pasteboard content from one pasteboard to another |
privacy | Grant, revoke, or reset privacy and permissions |
push | Send a simulated push notification |
rename | Rename a device |
shutdown | Shutdown a device |
spawn | Spawn a process by executing a given executable on a device |
status_bar | Set or clear status bar overrides |
terminate | Terminate an application by identifier on a device |
ui | Get or Set UI options |
unpair | Unpair a watch and phone pair |
upgrade | Upgrade a device to a newer runtime |
uninstall | Uninstall an app from a device |
Command | Description |
---|---|
addphoto | Add photos |
addvideo | Add video |
appinfo | Get application bundle information |
bootstatus | Get device boot status |
darwinup | Install a root for the specified simulator runtime |
disk | Perform disk operations, like simulating volume unmount |
keyboard | Change the keyboard locale/language |
listapps | List installed applications |
monitor | List notifications as they arrive |
notify_post | Post a darwin notification on a device |
notify_get_state | Get the state value of a darwin notification on a device |
notify_set_state | Set the state value of a darwin notification on a device |
pbinfo | Print information about the device's pasteboard |
register | Register a service from one bootstrap into another |
reset | Reset a given archive or database |
runtime | Locate, copy, mount, and unmount simulator runtime disk images |
spawn | Spawn a process by executing a given executable on a device |
unregister | Unregister a service from a device's bootstrap |
Usage tips and notes.
For subcommands that require a <device>
argument, you may specify a device UDID
or the special "booted" string which will cause simctl to pick a booted device.
If multiple devices are booted when the "booted" device is selected, simctl
will choose one of them.