Replace ios-deploy with devicectl for physical iOS devices
- Dominant language
- Rust
- Stars
- 212
- Forks
- 14
- Avg merge
- 7h 23m
- Merged PRs (30d)
- 13
Description
## Goal
Use Xcode's official `devicectl` for physical iOS devices and remove `ios-deploy` completely.
## Scope
- Discover available paired devices from structured `devicectl` output.
- Select `--device-id` exactly; auto-select only when unambiguous and report actionable errors otherwise.
- Install the signed `.app` and launch its bundle identifier.
- Define `crossbundle run ios --device` modes consistently:
- default: attach the application console;
- `--detach`: launch and return immediately;
- `--debug`: start and attach an interactive LLDB session; conflict with `--detach`.
- Preserve the existing `simctl` path for Simulator runs.
- Detect unsupported Xcode versions with a clear remediation message.
- Update `doctor`, tests, and documentation to require Xcode's device tooling only.
- Remove all `ios-deploy` commands, checks, documentation, and fallback behavior.
Keep command construction and output parsing in `crossbundle-tools`; the CLI should expose Crossbundle concepts rather than raw `devicectl` flags. Prefer machine-readable output and typed parsing over human-output matching.
## Done when
`crossbundle run ios --device` can select, install, and launch on a modern physical device with predictable attached, detached, and debug behavior; failures identify the device or Xcode action required; Simulator behavior is unchanged; and the repository contains no `ios-deploy` integration or setup requirement.
Contributor guide
No contributing guide indexed for this repository
Research direction
Begin at the `crossbundle run ios --device` CLI entry point and the `crossbundle-tools` code for command construction and output parsing; then inspect `doctor`, existing tests, and iOS documentation. Done means physical-device selection, installation, launch, attached/detached/debug modes, clear Xcode errors, unchanged Simulator behavior, and no remaining `ios-deploy` integration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, rust
- Domain
- cli, mobile-dev, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100