Show HN: We added iOS real device support to Maestro
iOS real device support has been Maestro's most requested feature since January 2023. Almost 3 years of GitHub issues and comments asking for the same thing.

We needed it for our work, so we built it and submitted PR #2856. But the Maestro team said official support won't land until next year — no committed timeline.

We didn't want teams to wait, so we packaged a standalone tool that works today.

How it works: - maestro-ios-device builds and deploys the XCTest runner to your physical iPhone - Port forwarding bridges localhost:6001 → device:22087 - Your existing Maestro YAML runs unchanged

Bonus: We also unlocked parallel execution on multiple real devices. Maestro had a hardcoded port limitation — now you can run on device 1 at :6001 and device 2 at :6002 simultaneously.

Limitations (Apple restrictions): - clearState works via app reinstall (not simctl) - setLocation requires additional setup - addMedia not supported

Install: curl -fsSL https://raw.githubusercontent.com/devicelab-dev/maestro-ios-... | bash

Repo: https://github.com/devicelab-dev/maestro-ios-device PR: https://github.com/mobile-dev-inc/Maestro/pull/2856

Tested on iOS 18.x and 26.x with Maestro 2.0.9/2.0.10.

This is unofficial — when Maestro ships native support, use that instead. Happy to answer questions about the implementation.

If you don't know what Maestro is:

> Maestro is an open-source framework that makes UI and end-to-end testing for Android, iOS, and web apps simple and fast. Write your first test in under five minutes using YAML flows and run them on any emulator, simulator, or browser.

https://github.com/mobile-dev-inc/Maestro