Skip to content

feat: run devicekit-ios#143

Closed
kvs-coder wants to merge 3 commits intomainfrom
vk/run-device-kit
Closed

feat: run devicekit-ios#143
kvs-coder wants to merge 3 commits intomainfrom
vk/run-device-kit

Conversation

@kvs-coder
Copy link
Collaborator

@kvs-coder kvs-coder commented Jan 15, 2026

Summary by CodeRabbit

  • New Features

    • DeviceKit support for iOS real devices: start DeviceKit from the CLI to enable XCUITest-based automation, with automatic port forwarding for HTTP control and H.264 streaming. CLI shows discovered HTTP/stream ports and keeps the process running until stopped.
  • Documentation

    • README updated with DeviceKit usage, example commands, JSON port output, and platform notes for using DeviceKit or a manual WebDriverAgent alternative.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 15, 2026

Walkthrough

Adds DeviceKit support for iOS real devices across docs, CLI, commands, device layer, and JSON-RPC server routing to start a DeviceKit session with port forwarding and an XCUITest runner.

Changes

Cohort / File(s) Summary
Documentation
README.md
Adds a DeviceKit (iOS Real Devices) Usage section with example mobilecli devicekit start commands, sample JSON port output, and updated platform notes explaining DeviceKit vs manual WebDriverAgent alternatives.
CLI
cli/devicekit.go
New CLI group devicekit with start subcommand; builds DeviceKitStartRequest, calls command, prints JSON response, blocks until SIGINT/SIGTERM, and adds --device flag.
Commands / API
commands/devicekit.go
Adds DeviceKitStartRequest, DeviceKitStartResponse, and DeviceKitStartCommand to locate an iOS device, invoke StartDeviceKit, and return HTTP/stream ports and a message or error.
Device layer
devices/ios.go
Adds DeviceKitInfo and (*IOSDevice) StartDeviceKit() to create tunnel/port-forwarding, discover local ports, launch an XCUITest runner; renames LaunchWdaLaunchTestRunner; adds findAvailablePortInRange.
Server / RPC
server/server.go, server/dispatch.go
Adds DeviceKitStartParams and handleDeviceKitStart; registers "devicekit_start" in the method registry to accept params, invoke DeviceKitStartCommand, and return port info or error.

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: run devicekit-ios' clearly and concisely summarizes the primary change—adding the ability to run DeviceKit on iOS devices.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gmegidish
Copy link
Member

Oops, merged the branch that inherits from this one. So changes already made to main.

@gmegidish gmegidish closed this Jan 18, 2026
@gmegidish gmegidish deleted the vk/run-device-kit branch February 7, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants