iOS simulator control
qa_iosControl an iOS Simulator to boot, install, launch, or terminate apps, open deep links, and collect logs. Use consent-gated reset or erase actions for clean QA runs.
Instructions
Control an iOS Simulator (macOS): list, boot (binds it to the session), install (.app), launch, terminate, openurl, logs, privacy_reset, erase (wipes it). install, privacy_reset and erase are consent-gated. A slow cold boot returns status:"booting" (poll qa_wait for:"simulator_booted"). Structured iOS automation: qa_wda.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"sessionId": "<sessionId>",
"action": "<action>"
},
"name": "qa_ios"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | install: .app path (absolute or project-relative). | |
| url | No | openurl: deep link. | |
| last | No | logs: time range, e.g. 30m (default 5m). | |
| action | Yes | ||
| device | No | boot/erase: simulator UDID or exact name (other actions: the bound one only). | |
| approve | No | ||
| service | No | privacy_reset: service, e.g. location, photos, all. | |
| bundleId | No | launch/terminate/privacy_reset: bundle id. | |
| consentId | No | ||
| sessionId | Yes |