By Taha Yasin Kucuk · October 10, 2026
Test AI agent builds on a real iPhone when you're away from your Mac
Short answer: if a coding agent builds your app with Xcode on a Mac at the office and your iPhone is with you, you have two options. You can wait for TestFlight, or you can make the phone show up in that Mac's Xcode as a normal wireless device. Apple's wireless debugging only works on the same local network. A mesh VPN (Tailscale, ZeroTier, or Netbird) plus a Bonjour bridge such as Nuticast removes that limit, so the agent's Run lands on your phone in seconds. The phone has to be on Wi‑Fi.
The setup this is about
More iOS developers now leave a Mac running at the office or at home with Claude Code, Codex, Cursor, or their own agents working in the Xcode project. They steer it from a laptop or a phone. The code changes arrive fine. Testing is the slow part: the agent can build for the simulator, but some things only show up on a real device: camera, push, Bluetooth, background modes, performance, and how the UI actually feels in the hand.
One Nuticast customer runs exactly this setup. Their office Mac runs the agents, and they direct the work remotely. Before Nuticast they used TestFlight:
"I used TestFlight builds for some time, but that is so slow, and Apple has daily limits as well."
Option 1: TestFlight for every change
TestFlight works from anywhere and needs nothing extra. For agent-driven work it has three costs:
- Each change is a full upload. Archive, upload, wait for App Store Connect to process, wait for the build to reach the device. That's minutes per iteration, and agents iterate fast.
- Build-number bookkeeping. Every upload needs a new build number, which is one more thing for the agent to get right.
- No live debugger. You get crash logs afterwards, not breakpoints or the console while the bug is happening.
TestFlight is still the right tool for handing builds to testers. It's a slow loop for "did the agent's last change work on a phone?"
Option 2: make the phone local to the office Mac's Xcode
Xcode finds wireless devices with Bonjour (mDNS), which doesn't cross networks. That's why the phone disappears from the run destination menu the moment you leave the office Wi‑Fi, even if a VPN can reach it. The details are in why Xcode wireless debugging breaks when your iPhone leaves Wi‑Fi.
The fix has two halves:
- Reachability: put the Mac and the iPhone on the same mesh VPN. Tailscale, ZeroTier, and Netbird all work.
- Discovery: Nuticast runs on the office Mac. It re-advertises the phone's Bonjour record there and relays Xcode's pairing and tunnel traffic over the mesh to wherever the phone is.
After that, the phone is a normal device in that Mac's Xcode. When the
agent runs xcodebuild or xcrun devicectl device install app against
your device, or you press Run over Screen Sharing, the build installs on
the phone in your hand. Breakpoints and the console work too.
Setting it up
Do this once while you're at the office, with the phone on the same Wi‑Fi as the Mac:
- Check that Xcode on the Mac can already run your app on the phone over wireless debugging.
- Install the same mesh VPN on the Mac and the iPhone and sign both in.
- Install Nuticast on the Mac, pair the phone, and link it to its mesh VPN device. How it works has the full steps.
When you leave, start the bridge from the menu bar (or leave it on). The phone shows up in Xcode again over the mesh.
Tell your agent which device to target. xcrun devicectl list devices
lists its identifier, and xcodebuild -destination 'id=<UDID>' builds
for it.
Limits worth knowing
- Wi‑Fi only. Cellular doesn't work. The customer above uses a second phone's Personal Hotspot when there's no Wi‑Fi nearby; to the test phone that's just another Wi‑Fi network.
- First pairing is local. Pair once on the same Wi‑Fi as the Mac. After that the phone can be anywhere.
- The Mac must stay awake and on its network, which an agent box usually is anyway.
Which one to use
- Handing builds to testers or reviewers: TestFlight.
- Checking each agent change on your own phone, with a debugger: a mesh VPN plus Nuticast. Pairing and discovery are free; bridging needs a license.