Back to Skills

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.

932stars47forksUpdated 7/28/2026

Security Assessment

Safe(93/100)
Security Score93/100

About ios-simulator

iOS Simulator is a developer-workflow skill for driving Apple's iOS Simulator through the xcrun simctl command-line tool. It solves the problem of scripting and automating Simulator-based app testing: managing device lifecycle, installing and launching apps, and exercising system behaviors that would otherwise require manual interaction, while also clarifying which behaviors genuinely require physical hardware.

The skill documents a broad command surface: listing/creating/booting/shutting down/erasing/deleting simulator devices and runtimes, using bootstatus as a readiness gate in CI, installing .app bundles and launching or terminating apps by bundle ID (including console output streaming and launch arguments), and locating app/data/shared-group container paths. Testing workflows cover local push-notification payload simulation, location simulation (fixed coordinates, predefined scenarios, and custom waypoint routes), and privacy-permission grant/revoke/reset for services like photos, microphone, and location. Additional sections address screenshots and video recording, log streaming, compile-time simulator detection via targetEnvironment(simulator), and simulator limitations. A references/simctl-commands.md file holds full command tables, jq parsing examples, permission/status-bar values, and boot-recovery commands, and an evals/evals.json accompanies it.

It is aimed at iOS/Swift developers and CI engineers who script Simulator workflows, debug CoreSimulator boot failures, or need to decide when a physical device is required (for hardware, real APNs delivery, memory-pressure, or certain security behaviors). All commands operate on local simulator instances via official Apple tooling.

FAQ

What tooling does this skill rely on?

Apple's xcrun simctl command-line tool (part of Xcode) plus xcodebuild for building the .app bundle. It targets the iOS Simulator, not physical devices.

Can it test real push notifications and hardware features?

No. simctl push tests local payload handling and notification UI, not APNs delivery. The skill explicitly calls out that hardware, networking, memory-pressure, and certain security behaviors require a physical device.

Does it delete or wipe data?

It documents simctl erase (factory reset that wipes a simulator's data) and simctl delete (remove a simulator). These act only on local, disposable simulator instances used for development and testing.

How does it help in CI?

It recommends xcrun simctl bootstatus <UDID> -b as the canonical boot-and-readiness gate before install/launch/push/location commands, and pre-granting privacy permissions to avoid dialogs that block automated runs.

Where are the full command details?

In references/simctl-commands.md, which contains complete command tables, jq parsing examples, privacy/status-bar values, Logger filter setup, and boot-recovery commands.

All Files

3 files
SKILL.md15.7 KB
View
references/simctl-commands.md13.3 KB
View
evals/evals.json4.0 KB
View

Install ios-simulator

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill