rove skill owns device readiness. It checks the connection, runs Roveflow setup when needed, explains each user action, and resumes the original task after the phone is ready.
Recommended: Mirror
Mirror controls Apple’s iPhone Mirroring window using macOS window capture, OCR, and targeted background input that does not take over the pointer or foreground app. It requires macOS 15 or newer, an eligible nearby iOS 18 or newer iPhone, Apple’s pairing requirements, and Screen Recording plus Accessibility permission on the Mac. It is visual automation, not a semantic replacement for WebDriverAgent. The agent opens iPhone Mirroring first. If Apple or macOS blocks progress, it gives one action with the exact Mac or iPhone location, verifies the result, and resumes from the saved checkpoint. If the Mac is ineligible, it explains why and offers Advanced WebDriverAgent without silently switching.Advanced: standard WebDriverAgent
Keep the phone connected by USB, unlocked, and on the prompt the agent asks you to approve. Roveflow prepares a userspace tunnel, mounts Apple’s Developer Disk Image through Xcode tooling, and starts its signed WebDriverAgent runner. Depending on what is already configured, the agent may pause for:1
Trust this computer
Tap Trust on the iPhone and enter the device passcode. First-time pairing can take about 30 seconds.
2
Signing permission
If macOS asks to use the signing key, approve it. Choosing Always Allow prevents the same keychain prompt on later runs.
3
On-device automation
Enter the XCTest passcode if iOS requests it. The agent can also guide Developer Mode or other automation prompts reported by setup.
Android onboarding
Android usesadb over USB and does not need iPhone signing or a separate driver installation.
- Open Settings > About phone and tap Build number seven times to enable Developer options.
- Open Settings > System > Developer options and turn on USB debugging.
- Connect and unlock the phone, then tap Allow USB debugging when Android asks.
Readiness and recovery
The setup checkpoint is saved under~/.roveflow, so an expected agent restart or iPhone reboot does not restart onboarding from the beginning. The agent rechecks completed external state, continues at the first unmet requirement, verifies driver health and app discovery, then performs a first screenshot and screen inspection before asking for the target app and task.
If an existing connection stops responding, Roveflow attempts to repair the platform-specific connection. If it still cannot become ready, the agent reports the relevant logs in roveflow-out/logs and the exact next action rather than guessing.