ios-debugger

Build, run, and debug iOS apps via CLI without Xcode UI. Use when user wants to build iOS app, run on simulator, capture logs, take screenshots, or automate simulator interactions. Not for Swift code patterns (use apple-swift).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ios-debugger" with this command: npx skills add maroffo/claude-forge/maroffo-claude-forge-ios-debugger

ABOUTME: XcodeBuildMCP integration for building, running, and debugging iOS apps via CLI

ABOUTME: Simulator control, UI interaction, log capture, screenshot automation

iOS Debugger

When to Invoke

  • Build/run iOS apps without Xcode UI
  • Automate simulator interactions
  • Capture app logs programmatically
  • UI testing via CLI
  • CI/CD iOS workflows

Capabilities

  • Build and run on booted simulator
  • Interact with simulator UI (tap, type, gestures)
  • Capture and filter app logs
  • Take screenshots
  • Install/uninstall apps

Prerequisites

# Ensure XcodeBuildMCP is available
# Check if simulator is booted
xcrun simctl list devices | grep Booted

# Boot simulator if needed
xcrun simctl boot "iPhone 16 Pro"

Build and Run

# Build for simulator
xcodebuild -workspace MyApp.xcworkspace \
    -scheme MyApp \
    -sdk iphonesimulator \
    -destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
    build

# Install app on simulator
xcrun simctl install booted path/to/MyApp.app

# Launch app
xcrun simctl launch booted com.example.myapp

UI Interaction

# Tap at coordinates
xcrun simctl io booted tap 200 400

# Type text
xcrun simctl io booted type "Hello World"

# Swipe gesture (x1 y1 x2 y2 duration)
xcrun simctl io booted swipe 200 600 200 200 0.5

# Take screenshot
xcrun simctl io booted screenshot screenshot.png

Log Capture

# Stream all logs from booted simulator
xcrun simctl spawn booted log stream --predicate 'processImagePath CONTAINS "MyApp"'

# Filter by subsystem
xcrun simctl spawn booted log stream --predicate 'subsystem == "com.example.myapp"'

# Capture logs to file
xcrun simctl spawn booted log stream \
    --predicate 'processImagePath CONTAINS "MyApp"' \
    > app.log &

Common Workflows

Reset Simulator

# Erase all data
xcrun simctl erase "iPhone 16 Pro"

# Shutdown and boot
xcrun simctl shutdown "iPhone 16 Pro"
xcrun simctl boot "iPhone 16 Pro"

Tips

  • Always check simulator is booted before commands
  • Use log stream predicates to filter noise
  • Coordinate-based taps are fragile (prefer accessibility IDs in XCTest)
  • Capture screenshots for visual regression tests
  • Use xcrun simctl openurl to test deep links

Integration with Tests

# Run XCTests on simulator
xcodebuild test \
    -workspace App.xcworkspace \
    -scheme App \
    -destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
    -resultBundlePath TestResults.xcresult

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

clickup

No summary provided by upstream source.

Repository SourceNeeds Review
General

newsletter-digest

No summary provided by upstream source.

Repository SourceNeeds Review
General

rails

No summary provided by upstream source.

Repository SourceNeeds Review