Builds and manages iOS/macOS apps using native xcodebuild and xcrun simctl CLI tools. Use when working with Xcode projects, running apps in simulators, managing simulator instances, taking screenshots, capturing logs, running tests, or automating builds.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
reference/logging.mdreference/simctl.mdreference/workflows.mdreference/xcodebuild.mdBuild and manage iOS/macOS projects using native Xcode CLI tools.
Find available simulators:
xcrun simctl list devices available
Build for simulator:
UDID=$(xcrun simctl list devices --json | jq -r '.devices | .[].[] | select(.name=="iPhone 16 Pro" and .isAvailable==true) | .udid' | head -1)
xcodebuild -workspace App.xcworkspace -scheme App -destination "platform=iOS Simulator,id=$UDID" -derivedDataPath /tmp/build build
Install and launch:
APP_PATH=$(find /tmp/build -name "*.app" -type d | head -1)
xcrun simctl install $UDID "$APP_PATH"
xcrun simctl launch --console $UDID com.bundle.identifier
Take screenshot:
xcrun simctl io $UDID screenshot /tmp/screenshot.png
xcodebuild: See reference/xcodebuild.md for project discovery, building, archiving, and testing commands.
Simulator control: See reference/simctl.md for device management, app lifecycle, screenshots, video recording, location simulation, and permissions.
Logging: See reference/logging.md for log streaming and filtering.
Complete workflows: See reference/workflows.md for end-to-end automation scripts.
simctl list devices --jsonsimctl boot $UDIDxcodebuild using -derivedDataPathsimctl installsimctl launch --consolexcodebuild -workspace App.xcworkspace -scheme App \
-destination "platform=iOS Simulator,id=$UDID" \
-only-testing "AppTests/SpecificTest" test
"Unable to find destination": Verify simulator exists with simctl list devices. Use exact name or UDID.
"No scheme found": Run xcodebuild -list to see available schemes.
"App not found after build": Use -derivedDataPath /tmp/build and search there.