device_reset_state
One-shot preflight: revoke/reset permissions, clear MMKV storage keys, force-stop the app, then relaunch + reconnect CDP. Composes device_permission + cdp_mmkv + simctl/adb terminate+launch in one atomic call. Best-effort with per-step status — never silently rolls back. Sequence: permission → storage → terminate → launch → reconnect → helpers (→ optional nav_ready). On iOS, permission state is not queryable post-revoke (simctl limitation) — ok: true only means the shell-out exited 0. Returns { summary: {ok, failed, skipped}, steps: […], reconnected, helpersInjected }.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|
appId | string | Yes | App bundle ID, e.g. “com.example.app”. | ||
platform | `enum: ios | android` | No | ||
permissions | array | No | Permissions to revoke/reset before relaunch. String shorthand defaults to revoke. Each entry is processed via device_permission. | ||
storageKeys | array | No | MMKV keys to delete before terminate (so the app reads cleared values on next launch). Skipped if CDP is not connected. | ||
mmkvInstanceId | string | No | Forwarded to cdp_mmkv. Defaults to mmkv.default. | ||
relaunch | boolean | No | Launch the app after terminate. Default true. | ||
waitForReady | boolean | No | After relaunch, wait for CDP reconnect + helpers injection. Default true. Set false to return immediately and let the caller poll. | ||
waitForNavReady | boolean | No | After helpers, also wait for globalThis.NAV_REF to expose a non-empty navigation state. Default false. |
device_reset_state(appId: <string>)