Skip to main content

Module simctl

Module simctl 

Source
Expand description

An interface to xcrun simctl.

§About the simulator

The iOS/tvOS/watchOS/visionOS simulator uses the host macOS kernel, which enables easier debugging, higher performance etc. Processes are configured such that they use various frameworks in $IPHONE_SIMULATOR_ROOT, but are not otherwise isolated, any process running in the simulator still has access to the host filesystem, peripherals, GPU etc.

There are two ways of launching binaries on the simulator: spawning a new process or launching a bundled application.

Ideally, we’d just always launch applications, but there’s a catch: there can only be a single actively launched application at a time, so launching must be serialized.

To make cargo test faster, we spawn applications instead of launching them when heuristics tell us it’s (probably) safe to do so.

Structs§

Device
Runtime

Functions§

get_device
Find an available device with the correct runtime to run on.
get_temp_dir
Get the temporary directory of the device.
install_and_launch
spawn