Skip to content

Replace ios-deploy with devicectl for physical iOS devices #186

Description

@enfipy

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions