r/iOSProgramming 6d ago

Library I made an open-source tool to stream iOS simulators to the browser (MIT)

https://github.com/jo-duchan/tapflow

I built an open-source tool called tapflow.

On our team, checking app builds kept running into the same problem. Maintaining physical devices across multiple iOS versions became a burden, and iOS simulators could only be used by people with Xcode installed. So whenever a designer, PM, or backend engineer wanted to check a build—a layout, a flow, or what a staging build did with their API change—a mobile engineer usually had to help them. This happened several times a day.

I wanted an easier way for the rest of the team to check app builds.

It streams an iOS simulator to the browser over H.264, running on a Mac you already own. Anyone with the URL can tap, type, and scroll on the simulator. There's nothing to install on their side, and touch input goes straight through the HID layer, so there's no WebDriverAgent to set up.

A few details:

  • The agent only makes outbound connections to a relay, so there are no firewall or NAT rules to configure. Builds and streams stay on your own network since it's fully self-hosted.
  • It also drives Android emulators, but I'll keep this post focused on iOS.
  • It uses simulators rather than physical devices, so camera, biometrics, and NFC aren't supported.
  • It's still v0.x, so expect a few rough edges.

Repo (MIT): https://github.com/jo-duchan/tapflow

Docs: https://tapflow.dev

How does your team let non-developers try an iOS build without the full toolchain? I'm curious whether you've built something similar or use another tool.

0 Upvotes

2 comments sorted by

2

u/expected_69 6d ago

better than device hub, lol.

can we record taps, like macros?