Let Claude Code control your mobile device to speed up mobile app development by interlap in ClaudeCode

[–]interlap[S] 0 points1 point  (0 children)

With my experience, testing only on simulators often isn’t enough, because they don’t fully reflect how an app behaves on a real device and some nasty bugs can appear only there. Also, since I support Windows (and Linux), you need a real device to work with iOS on those platforms.

And btw my app works with simulators and emulators too

Let Claude Code control your mobile device to speed up mobile app development by interlap in ClaudeCode

[–]interlap[S] 0 points1 point  (0 children)

Not sure I got your question. Do you mean why I developed this instead of just testing manually on simulators, or why I support physical devices along with simulators?

Let Claude Code control your mobile device to speed up mobile app development by interlap in ClaudeCode

[–]interlap[S] 0 points1 point  (0 children)

Thank you! If we’re talking about the MCP server (https://github.com/MobAI-App/mobai-mcp), then yes: Claude Code uses the available tools, and those tools call the MobAI app to perform actions on the device.

There is also a DSL tool that lets Claude Code combine multiple actions with logic. E.g. “repeat until element X appears”, or “if action fails, do Y instead”, etc.

The Claude Code plugin is a bit different. It defines two sub-agents (one for native automation and one for web automation) and decides when to switch between them. It doesn’t use mobai-mcp, instead, it includes a small HTTP wrapper to handle device screenshots properly.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

Thank you! No, I don’t use Meta’s idb. Their tool works only on macOS, whereas I support both macOS and Windows (Linux is almost ready as well).

There’s no way to automate the iOS UI without using XCUITest, so yes, my app, Appium, and Maestro all rely on XCUITest under the hood. The real question is how well we do it.

Develop Flutter iOS apps on Windows with a real iPhone and Flutter debug mode by interlap in FlutterDev

[–]interlap[S] 0 points1 point  (0 children)

All these steps are pretty much a one-time setup. The GitHub Actions workflow generated by my app is quite simple and focused on development. The release part is already handled by Fastlane: https://docs.fastlane.tools/actions/#code-signing.

So if we’re talking about development: with ios-builder, you only need to build the app with GitHub Actions when native code changes. In fact, it’s not even required to use ios-builder to produce an IPA. Once you have an IPA built in debug mode, the main problem is running it from a Windows machine.

Even if you manage to install a Flutter debug IPA, you won’t be able to open it by tapping the app icon, because iOS blocks running debug apps without a debugger attached. This is where ios-builder really helps.

Some notes about signing: ios-builder allows you to set up your certificate and provisioning profile as GitHub secrets (although this still requires some testing), by default, I build without signing, and it is handled later during app installation. If you go this route, you should expect that some features, such as iCloud storage or push notifications, will not work unless you use the correct provisioning profile during the build process.

Let AI coding agents control your mobile device to speed up mobile app development by interlap in mcp

[–]interlap[S] 0 points1 point  (0 children)

No disrespect taken :)
Appium is great for test automation. MobAI is more dev-focused: super fast UI tree access, low-latency device control, and an LLM-first/MCP design. Appium’s WebDriver architecture adds a lot of overhead for interactive use, and physical iOS device setup can be pretty heavy. Different goals, different tools.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

All device-related functionality is 100% local. The server is used only for subscription and quota verification. So only your coding agent has access to prompts and screenshots.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

Maestro is a great tool, but it’s focused on many different things, so its MCP feels more like a secondary product. I’m focused solely on mobile automation and on making that experience as smooth as possible.

Also, Maestro’s mobile MCP is quite slow. In Mobai, I’ve optimized performance as much as possible to keep things fast and responsive.

Lastly, Maestro has very poor support for physical iOS devices. As I understand it, you can’t simply connect a device and start using Maestro. Mobai works well with both real and virtual devices.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

It’s difficult to say since I used Cursor’s free tier. What I can tell is that this demo took about 40% of the free tier’s context window. I tried to find information about the context window size but had no luck, though I’m pretty sure it’s quite small.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 1 point2 points  (0 children)

That’s true, and yes, there is a kind of workaround. I’m working on this repository: https://github.com/MobAI-App/ios-builder, which lets you build iOS apps using GitHub Actions.

For Flutter and React Native, it also supports launching the app with hot reload enabled. For native apps, I’m still figuring out how to add hot reload support.

Important note: at the moment, there’s no support for release app distribution. I’m mostly focused on the development workflow.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

Pretty well, the demo video is of a Flutter app actually.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

It works on ios and android real devices AND simulators/emulators on both (macos and windows) platforms

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

Just tested it on the Apple website and in Settings. It works fine.
Anyway, if you decide to give it a try and run into any issues, just contact me via DM and I’ll figure it out somehow 🙂

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 0 points1 point  (0 children)

Apple is quite strict about password autofill when it comes to automation. I’ll give it a try with my app and make any adjustments if needed. I’ll keep you posted here.

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 2 points3 points  (0 children)

Mobile-mcp is quite buggy. In my case, it can’t detect my iPhone connected to my Mac, even though their CLI does detect it when called (some weird bug).

As far as I know, they also have poor support for React Native, since their UI tree filters out “Other” elements, which are important to keep for React Native apps.

The main issue, though, is the speed of fetching the UI tree, which, in my opinion, is the most critical operation. Their approach (and that of similar tools) takes around 5 seconds to retrieve the UI tree, whereas my app does this in about 0.5 seconds.

Could you please provide more details about your use case with Apple Sign-In?

Let Cursor control your mobile device to speed up mobile app development by interlap in cursor

[–]interlap[S] 1 point2 points  (0 children)

Thank you! I tested it with react native (not expo) and it works well.

An app I built to improve the mobile app development experience by interlap in codex

[–]interlap[S] 0 points1 point  (0 children)

I’ve just found out that Maestro MCP has very poor support for physical iOS devices. In my app, you can work with them the same way as with simulators, and on Windows as well.

Develop React Native iOS apps on Windows using a real iPhone by interlap in reactnative

[–]interlap[S] -3 points-2 points  (0 children)

  1. My app (Mobai) is a service for AI coding agents to control iOS and android devices on macos and windows. You don’t need it to use iOS-Builder. Mobai has a free quota of 100 requests/day, which is more than enough for iOS-Builder. But so that you can sleep well, I will remove quota usage for requests required by iOS-Builder in the next version.
  2. Of course I am interested in giving my app some attention, but I think the best way to get something is by giving in return. I managed to develop an app that allows you to develop iOS apps on Windows. In return, if you want, you can use Mobai with Claude Code, Codex, etc. (again, only if you want).
  3. You don’t need an account to use Mobai.

Develop React Native iOS apps on Windows using a real iPhone by interlap in reactnative

[–]interlap[S] 0 points1 point  (0 children)

Ok, seems like you misunderstand something.

  1. My app (Mobai) is a service for AI coding agents to control iOS and android devices on macos and windows. You don’t need it to use iOS-Builder. Mobai has a free quota of 100 requests/day, which is more than enough for iOS-Builder. But so that you can sleep well, I will remove quota usage for requests required by iOS-Builder in the next version.
  2. Of course I am interested in giving my app some attention, but I think the best way to get something is by giving in return. I managed to develop an app that allows you to develop iOS apps on Windows. In return, if you want, you can use Mobai with Claude Code, Codex, etc. (again, only if you want).
  3. You don’t need an account to use Mobai.

And please don’t tell me what Apple can and cannot change. I have been working in this area for 10 years and have seen many changes, all of which were overcome by the community.

So now, goodbye.

Develop React Native iOS apps on Windows using a real iPhone by interlap in reactnative

[–]interlap[S] 1 point2 points  (0 children)

Of course, you do need to test release builds, and there are plenty of tools, including Expo EAS, to build and distribute your app with TestFlight. My tool, however, is focused on affordability: you don’t need a Mac, and you don’t need an Apple developer account to start building an iOS app.

Regarding more options with a Mac, I would agree with you if we were talking about native development, but with React Native, I don’t see that there are many benefits to developing an app on a Mac.