xdev 0.1.1

xdev - iOS/macOS development CLI
xdev-0.1.1 is not a library.

xdev

iOS/macOS development CLI that wraps xcodebuild, simctl, and devicectl into simple commands.

Installation

cargo install xdev

Or build from source:

git clone https://github.com/esoxjem/xdev
cd xdev
cargo install --path .

Usage

# Initialize project (saves workspace, scheme, simulator to .xdev.json)
xdev init
xdev init -S "iPhone 17"        # with simulator

# Show project context
xdev context

# Build
xdev build
xdev build --simulator "iPhone 17"
xdev build --device "iPhone"

# Build and run
xdev run
xdev run --device

# Stop running app
xdev stop

# Run tests
xdev test
xdev test --list

# Clean
xdev clean
xdev clean --all                # also clears derived data

# Stream logs
xdev logs

Simulator Management

xdev simulator list
xdev simulator list --booted
xdev simulator boot "iPhone 17"
xdev simulator shutdown "iPhone 17"
xdev simulator create <name> <device-type> <runtime>
xdev simulator delete <name>
xdev simulator erase <name>
xdev simulator open              # open Simulator.app
xdev simulator open-url <url>
xdev simulator location <lat> <lon>
xdev simulator device-types
xdev simulator runtimes

Physical Devices

xdev device list
xdev device info
xdev device pair
xdev device install <app-path>
xdev device uninstall <bundle-id>
xdev device launch <bundle-id>
xdev device screenshot

App Management

xdev apps list
xdev apps container <bundle-id>
xdev apps install <app-path>
xdev apps uninstall <bundle-id>
xdev apps launch <bundle-id>

UI Automation

xdev ui screenshot -o screenshot.png
xdev ui tap <x> <y>
xdev ui type "Hello"
xdev ui button home
xdev ui hierarchy
xdev ui record -o video.mp4

Project Tools

xdev project schemes
xdev project configs
xdev project dependencies
xdev project derived-data
xdev project open

JSON Output

All commands support --json for machine-readable output (NDJSON for streaming commands).

xdev context --json
xdev simulator list --json