Skip to content

Latest commit

 

History

History
162 lines (127 loc) · 4.71 KB

File metadata and controls

162 lines (127 loc) · 4.71 KB

Commands

Replace simdeck with ./build/simdeck when running from a source checkout.

UI And Daemon

Command Purpose
simdeck Start a foreground browser session
simdeck <name-or-udid> Start and select a device
simdeck -d Start or reuse the detached project daemon
simdeck -k Stop the detached project daemon
simdeck -r Restart the detached project daemon
simdeck ui --open Open the browser UI from a daemon
simdeck daemon status Show daemon URL, PID, token, and log path
simdeck daemon stop Stop the current project daemon
simdeck daemon killall Stop all project daemons
simdeck service on/off/restart Manage the optional always-on macOS service

Examples:

simdeck ui --port 4320 --open
simdeck ui --open
simdeck daemon restart --video-codec software --stream-quality low

Device Lifecycle

simdeck list
simdeck boot <udid>
simdeck shutdown <udid>
simdeck erase <udid>

Android emulators appear as IDs such as android:Pixel_8_API_36.

Apps And URLs

simdeck install <udid> /path/to/App.app
simdeck install android:<avd-name> /path/to/app.apk
simdeck uninstall <udid> com.example.App
simdeck launch <udid> com.example.App
simdeck open-url <udid> https://example.com
simdeck toggle-appearance <udid>

Inspect UI

simdeck describe <udid>
simdeck describe <udid> --format agent --max-depth 4
simdeck describe <udid> --format compact-json
simdeck describe <udid> --source nativescript
simdeck describe <udid> --source react-native
simdeck describe <udid> --source flutter
simdeck describe <udid> --source uikit
simdeck describe <udid> --source native-ax
simdeck describe <udid> --point 120,240

Default source selection prefers a connected framework inspector, then the Swift in-app agent, then native accessibility.

Performance

simdeck processes <udid>
simdeck stats <udid>
simdeck stats <udid> --pid 12345
simdeck stats <udid> --watch
simdeck sample <udid>
simdeck sample <udid> --pid 12345 --seconds 3

Performance data is simulator-only and uses host-process telemetry for matching app, extension, helper, and web-content PIDs. stats reports CPU, memory, disk write rate, network receive/send rates, connection count, hang state, and recent crash or termination signals. sample captures a short macOS sample report for the selected or foreground app process.

Input

Coordinates are screen points unless --normalized is present.

simdeck tap <udid> 120 240
simdeck tap <udid> 0.5 0.5 --normalized
simdeck tap <udid> --label "Continue" --wait-timeout-ms 5000
simdeck swipe <udid> 200 700 200 200
simdeck gesture <udid> scroll-down
simdeck pinch <udid> --start-distance 160 --end-distance 80
simdeck rotate-gesture <udid> --radius 100 --degrees 90
simdeck type <udid> "hello"
simdeck type <udid> --file message.txt
simdeck key <udid> enter
simdeck key-sequence <udid> --keycodes h,e,l,l,o
simdeck key-combo <udid> --modifiers cmd --key a

System controls:

simdeck button <udid> lock --duration-ms 1000
simdeck button <udid> volume-up
simdeck button <udid> action
simdeck button <udid> digital-crown
simdeck crown <udid> --delta 50
simdeck dismiss-keyboard <udid>
simdeck home <udid>
simdeck app-switcher <udid>
simdeck rotate-left <udid>
simdeck rotate-right <udid>

Batch

simdeck batch <udid> \
  --step "tap --label Continue --wait-timeout-ms 5000" \
  --step "type 'hello world'" \
  --step "wait-for --label 'hello world' --timeout-ms 5000"

Use wait-for or assert steps instead of fixed sleeps when possible.

Evidence

simdeck screenshot <udid> --output screen.png
simdeck screenshot <udid> --stdout > screen.png
simdeck pasteboard set <udid> "hello"
simdeck pasteboard get <udid>
simdeck logs <udid> --seconds 30 --limit 200
simdeck chrome-profile <udid>

Diagnostic iOS H.264 stream:

simdeck stream <udid> --frames 120 > stream.h264

Studio And Providers

For hosted Studio workflows:

simdeck studio expose [simulator]
simdeck provider connect --studio-url <url> --host-id <id> --host-token <token>
simdeck provider run
simdeck provider status

These commands are mainly for managed remote simulator hosts.

CoreSimulator Service

simdeck core-simulator restart
simdeck core-simulator start
simdeck core-simulator shutdown

Use this when Apple's simulator service is stale or unresponsive.