dodorare / dodorare/crossbow

Replace ios-deploy with devicectl for physical iOS devices

Open
#186 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.