You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
terminate_app Tool: Terminates a running app by bundle identifier — useful for cold-start vs warm-start testing, resetting app state between runs, and crash-recovery flows. Returns a graceful error (surfacing simctl's "found nothing to terminate") when the app isn't running. Thanks @saen-ai! (#61, #83)
open_url Tool: Opens any URL or deep link in the simulator — https:// pages, custom URL schemes (e.g. myapp://profile/123), universal links, and OAuth redirect flows. Thanks @saen-ai! (#61, #83)
list_apps Tool: Lists all installed apps as sorted name — bundleId lines, so agents can discover bundle identifiers before calling launch_app or terminate_app. Parses simctl listapps plist output via plutil -convert json, which is resilient to formatting differences across Xcode versions. Thanks @saen-ai! (#61, #83)
Improvements
Shared run() stdin Support: The command helper gained an optional input option (piping data to a child's stdin without a shell), used by list_apps for the plutil conversion. Keeps all command execution on the same execFile pathway with bounded output and uniform error handling. (#83)
Documentation
Testing & Verification Harness Guide: New TESTING.md documenting how the project is actually verified — the per-PR review harness (--strict-mcp-config isolation, one empirical check per claim), the post-publish smoke test, and known hazards. QA.md rewritten as a version-agnostic release scenario targeting the Settings app. (#81)
App Lifecycle QA Scenario: QA.md gained a scripted scenario exercising the three new tools end-to-end. (#83)
New Tool Reference: README documents terminate_app, open_url, and list_apps parameters. (#83)
Build
Version Bump: Updated the project version to 2.1.0.