Simctl
This crate provides a safe wrapper around the simctl
utility that ships with
Xcode.
🚨 Important: this library only works if Xcode is installed and currently only works with Xcode 12.
Example
use ;
let simctl = new;
let device = simctl.list?.devices.iter
.available
.by_name
.next.unwrap;
let _ = device.boot;
device.launch.exec?;
let image = device.io.screenshot?;
device.shutdown?;
Operations
The following operations are currently supported by this crate. For a full list
of operations that are available in the original CLI, run xcrun simctl
.
Supported Operations
- boot
- get_app_container
- getenv
- install
- io screenshot
- keychain reset
- launch
- list
- openurl
- privacy
- push
- shutdown
- status_bar
- terminate
- ui
- uninstall
Unsupported Operations
- addmedia
- clone
- create
- delete
- diagnose
- erase
- icloud_sync
- install_app_data
- io enumerate
- io poll
- io recordVideo
- keychain add-cert
- keychain add-root-cert
- logverbose
- pair
- pair_activate
- pbcopy
- pbpaste
- pbsync
- rename
- spawn
- unpair
- upgrade