August 10, 2026
ZeroTier for iOS developers: a practical guide
ZeroTier is a mesh VPN, same category as Tailscale — but its device-discovery story is different enough that it's worth understanding before you set it up for wireless debugging.
What it is, briefly
ZeroTier builds virtual Ethernet networks: you join a network ID on each device, an admin (or you, on your own network) approves the member, and each approved device gets a fixed IP on that virtual network — reachable from every other member, regardless of physical location. Networks are either hosted on ZeroTier Central (the cloud service) or run against your own self-hosted controller.
Why device discovery is different
Tailscale and Netbird both ship a CLI that can list every peer's name and IP
in one command (tailscale status --json, netbird status --json). ZeroTier's
CLI (zerotier-cli) can't do that — zerotier-cli listpeers only reports the
physical transport address of each peer, never its virtual-network IP. The
actual member list with names and IPs lives behind whichever web UI manages
the network: ZeroTier Central if you use the cloud service, or your
self-hosted controller's own dashboard if you run one — and those two don't
share a common API shape.
That's why Nuticast doesn't try to auto-detect ZeroTier devices the way it
does for Tailscale and Netbird. Instead, it detects that zerotier-cli is
installed (so the ZeroTier tile shows up at all) and then asks you to paste
the iPhone's ZeroTier IP directly — the same fallback it uses for any mesh
VPN it doesn't have a dedicated adapter for.
Getting set up
- Install ZeroTier on your Mac and join your network:
zerotier-cli join <network-id>. - Install ZeroTier on your iPhone (App Store) and join the same network ID.
- Approve both devices as members — on ZeroTier Central if you use the cloud service, or on your self-hosted controller's own member-management page.
- Note the iPhone's assigned IP from that same dashboard (it's listed next to the device once approved).
- Make sure Wireless Debugging is enabled for the iPhone in Xcode (still requires one USB pairing first).
When you add the device in Nuticast, pick ZeroTier and paste that IP instead of picking it from a device list. From there, see how it works for the rest of the pairing flow.
A note on trust
Whether you use ZeroTier Central or a self-hosted controller, the network is one you approve membership on yourself — Nuticast just relays traffic over whichever ZeroTier network you've already set up, the same as it does for Tailscale or Netbird.