
IOS Simulator
Manages iOS Simulator devices and app tests with xcrun simctl: lifecycle...
Install
npx skills add dpearson2699/swift-ios-skills --skill ios-simulator -g -a claude-code -y- Repository
- dpearson2699/swift-ios-skills1.3k
- Category
- Testing
- Updated
- 3mo ago
- License
- See repository
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
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.
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
# List all available simulators grouped by runtime
xcrun simctl list devices available
# List installed runtimes
xcrun simctl list runtimes
# List only booted devices
xcrun simctl list devices booted
# JSON output for scripting
xcrun simctl list -j devices available
Parse JSON output to find a specific device programmatically. See references/simctl-commands.md for jq parsing examples.
Creating a Device
# Find available device types and runtimes
xcrun simctl list devicetypes
xcrun simctl list runtimes
# Create a device, returns the new UDID
xcrun simctl create "My Test Phone" "iPhone 16 Pro" "com.apple.CoreSimulator.SimRuntime.iOS-18-4"
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
# Boot a specific device
xcrun simctl boot <UDID>
# Boot if needed and wait until the device is ready
xcrun simctl bootstatus <UDID> -b
# Shutdown a running device
xcrun simctl shutdown <UDID>


