iOS development
without a Mac.
Build, run, and test real iOS apps from Linux, Windows, or a cloud sandbox. There are Macs in the loop. They're remote, and they're not yours.
Works from Linux, Windows, and the sandboxes where coding agents live.
01 · iOS builds
Build the app anywhere
ios-builder takes your Xcode project, builds it on a remote Mac runner, and hands the app back. One CLI call from any machine. It's open source.
Your agent edits Swift in its sandbox, kicks a build, and installs the result on a device or simulator without ever leaving Linux.
$ ios-builder build ./MyApp.xcodeproj
→ remote runner: Xcode 16, arm64
→ MyApp.ipa ready in 4m 12s
$ mobai install MyApp.ipa --device iphone
02 · Real iPhones
Your iPhone, reachable from anywhere
Your iPhone joins your private tailnet and stands on its own. No cable, no host machine, no relay in the middle, no shared farm hardware. Reach it from Linux, Windows, or a cloud sandbox.
Setup is a one-time step: MobAI walks you through it with the phone plugged into any computer you have. Mac, Linux, or Windows. After that the phone just needs power and a network.
$ mobai devices
iphone-15-pro ios 18.2 tailnet · home
pixel-8 android 15 usb · local
$ mobai screenshot iphone-15-pro
03 · Remote simulators
Simulators on demand
Real Apple simulators booted on GitHub-hosted runners when you need them. Your agent drives them exactly like a local device: same commands, same protocol.
Spin one up for a test run, throw it away after. Nothing to maintain.
$ mobai simulator up --model iphone-16-pro
→ booting on gh runner… ready
$ mobai test flows/ --device sim-remote
04 · App previews
See the screen inside the sandbox
Preview app screens right where the agent works. No simulator boot, no build round-trip: the engine renders true iPhone frames the agent can look at and iterate on.
React Native and Flutter today. SwiftUI, rendered straight from Swift source, is in development.
$ mobai-dev preview ./lib/settings.dart
→ engine: flutter · iphone frame · light
→ preview.png (agent reads the pixels)
05 · App Store
From sandbox to TestFlight
Signing, uploading, and TestFlight handling from the same pipeline, so an agent can take a change from code to testers without you touching Xcode. In the works.