Agent skill · software engineering · dpearson2699

ios-simulator

Manages iOS Simulator devices and app tests with xcrun simctl: lifecycle, install/launch, push and location simulation, privacy permissions, deep links, status-bar overrides, screenshots/video, log streaming, app containers, and targetEnvironment(simulator). Use when scripting Simulator workflows, debugging CoreSimulator boot failures, or deciding which hardware, performance, networking, memory-pressure, and security behaviors require a physical device.

Why this skill is useful

Provides specific commands and workflows for managing iOS Simulator devices that the AI wouldn't reliably generate on its own.

What it needs

Requires xcode installed locally. About 9k tokens when loaded. Last updated 2026-07-31. 973 stars on the source repository.

What this skill does

iOS Simulator Load the simctl command reference when you need complete command tables, JSON parsing, privacy/status-bar values, Logger filter setup, or boot recovery commands. Contents Device Lifecycle App Install and Launch Testing Workflows Screenshot and Video Recording Log Streaming Compile-Time Simulator Detection Simulator Limitations Common Mistakes Review Checklist References Device Lifecycle Listing Devices and Runtimes Parse JSON output to find a specific device programmatically. See references/simctl-commands.md for jq parsing examples. Creating a Device Device types and runtime identifiers in examples throughout this skill are illustrative. Run simctl list devicetypes and simctl list runtimes to find the identifiers available on your system. Use the returned UDID for subsequent commands. Boot, Shutdown, Erase, Delete Use booted as a UDID shorthand when exactly one simulator is running: If multiple simulators are booted, booted picks one of them non-deterministically. Prefer explicit UDIDs when running parallel simulators. In scripts and CI, xcrun simctl bootstatus <UDID> -b is the canonical boot-and-readiness gate before install, launch, push, or location commands. App Install and Launch Installing an App The path must point to a .app directory built for the simulator architecture, not a .ipa file. Launching and Terminating --console is useful for debugging — it shows print() and oslog output directly in the terminal. App Container Paths Testing Workflows Push Notification Simulation Create a JSON payload file: Send it to the Simulator: This tests local payload handling and notification UI, not APNs delivery. Location Simulation Use set for one coordinate, run for predefined scenario names, and start for custom waypoint routes. The command boundary matters: simctl location run accepts built-in scenario names (e.g., "City Run", "Freeway Drive"), not GPX file paths; simctl location start is the command-line path for custom coordinate waypoints. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills dpearson2699/ios-simulator

View the source on GitHub

Browse the @skills marketplace