By Taha Yasin Kucuk · August 1, 2026 · Updated October 23, 2026
Tailscale on iPhone and iPad: a setup guide for iOS developers
Short answer: install the free Tailscale app from the App Store, sign
in with the same account you use on your Mac, allow the VPN configuration,
and turn it on. The iPhone or iPad gets a fixed 100.x.y.z address that
your Mac can reach from any network. The same app runs on both iPhone and
iPad.
This guide covers the setup on iOS, the settings worth changing, and how iOS developers use Tailscale to keep debugging a device from Xcode after it leaves the office or home Wi‑Fi.
What Tailscale does on iOS
Tailscale is a mesh VPN built on WireGuard. Every device you sign in joins
your private network (your tailnet) and gets a stable IP in the
100.64.0.0/10 range. Devices connect to each other directly when they
can, and through Tailscale's relays when they can't. You don't run a
server or open any ports.
On iOS, Tailscale runs as a system VPN. Once it's on, the device stays reachable at the same Tailscale IP whether it's on your office Wi‑Fi, your home Wi‑Fi, or someone else's.
Set up Tailscale on iPhone or iPad
- Install the app. Search for Tailscale in the App Store. It's free, and the same app works on iPhone and iPad.
- Sign in. Use the same identity provider and account as on your Mac — Google, Microsoft, GitHub, Apple, or whatever your tailnet uses. Devices on different accounts end up in different tailnets and can't see each other.
- Allow the VPN configuration. iOS asks whether Tailscale may add a VPN configuration. Tap Allow and confirm with Face ID, Touch ID, or your passcode.
- Turn it on. Flip the switch in the app. A VPN indicator appears in Control Center and, on some devices, in the status bar.
- Check the device list. The app lists every device in your tailnet with its Tailscale IP. Your iPhone's own address is at the top; tap it to copy it.
Set up Tailscale on your Mac
Install Tailscale on the Mac from the Mac App Store, from tailscale.com, or with Homebrew, and sign in with the same account. Then, from Terminal:
tailscale status
Your iPhone should be listed with the same 100.x.y.z address the iOS app
shows. If you installed the Mac app rather than the command-line tool, the
tailscale command lives inside the app bundle at
/Applications/Tailscale.app/Contents/MacOS/Tailscale.
To check the connection end to end:
tailscale ping <iphone-name-or-ip>
A reply means the Mac can reach the phone over Tailscale. The output also tells you whether the connection is direct or relayed; direct is faster.
Settings worth changing
- Disable key expiry for your test devices. By default a device has to re-authenticate periodically (every 180 days, unless your tailnet admin changed it). When the key expires, the device silently drops out of the tailnet. In the Tailscale admin console, open the device's menu and choose Disable key expiry.
- Rename the device. Names like
iphone-15-proare easier to work with than the default. With MagicDNS on, the name also works as a hostname. - Don't use an exit node on the Mac while debugging. An exit node routes all of the Mac's traffic through another machine, which gets in the way of local debugging. Leave it off unless you need it.
Keeping Tailscale connected on iOS
iOS decides when background apps run, but Tailscale runs as a VPN, which iOS keeps alive much more reliably than a normal app. If the device ever seems unreachable:
- Open the Tailscale app and check that the switch is still on.
- Check that another VPN didn't take over. iOS runs only one VPN at a time, so turning on a work VPN turns Tailscale off.
- Low Power Mode and poor Wi‑Fi can delay reconnection after the device wakes. Opening the app usually brings it back right away.
Using Tailscale to debug from Xcode on a different Wi‑Fi
This is why many iOS developers install Tailscale on their test phones. Xcode's wireless debugging only finds a device on the same local network as the Mac, because it uses Bonjour discovery, which doesn't cross networks. Tailscale makes the phone reachable from anywhere, but Xcode still won't discover it. The details are in why Xcode wireless debugging breaks when your iPhone leaves Wi‑Fi.
Nuticast fills that gap. It reads the same device list as
tailscale status (straight from the Mac app, so there's no extra CLI to
install), lets you match the iPhone to its Tailscale entry, and makes the
phone visible to Xcode again once it's on another Wi‑Fi. Run, breakpoints,
and the debugger work as they would on local Wi‑Fi.
What you need:
- Tailscale on the Mac and the iPhone, signed in to the same tailnet.
- The iPhone already paired with Xcode for wireless debugging. That still happens once next to the Mac (over Wi‑Fi on iOS 27+, over USB before); Tailscale doesn't replace it.
- The iPhone on Wi‑Fi. Cellular doesn't work.
The full flow is in how it works, and every alternative is compared in how to debug an iPhone in Xcode when it's on a different network.
Common questions
Does Tailscale work on iPhone? Yes. Tailscale has a free App Store app
for iPhone and iPad. It runs as a system VPN and gives the device a fixed
100.x.y.z address on your tailnet.
Is Tailscale free on iPhone? Yes. The iOS app is free, and Tailscale's free personal plan is enough for one developer's Mac and test devices.
Does Tailscale work on iPad? Yes. It's the same App Store app, and setup is identical.
Does Tailscale drain the battery? Not noticeably for most people. WireGuard is lightweight, and an idle connection sends very little traffic.
Can I use Tailscale and another VPN at the same time on iOS? No. iOS allows one active VPN at a time.
Does it work over cellular? Tailscale itself does. Debugging from Xcode through Nuticast doesn't — the iPhone has to be on Wi‑Fi.
Prefer a different mesh VPN? Nuticast also supports ZeroTier and Netbird.