September 21, 2026
Xcode wireless debugging not working? A step-by-step checklist
When Xcode wireless debugging fails, it usually fails silently: the iPhone is missing from the run destination menu, shows as "offline," or hangs on "Connecting." The cause is almost always one of the checks below. Go through them in order — the early ones are the most common.
1. Pair over USB first
Wireless debugging only works for a device Xcode has already paired with over a cable. Plug the iPhone in, tap Trust on the phone, and wait for Xcode to finish preparing the device (the first time can take several minutes while it copies debug symbols). In recent Xcode versions the device is then available over the network automatically; in older ones, open Window → Devices and Simulators and tick Connect via network.
2. Turn on Developer Mode
On iOS 16 and later, the phone won't run development builds until Developer Mode is on: Settings → Privacy & Security → Developer Mode. The phone restarts and asks you to confirm. If the Developer Mode switch isn't there, connect the phone to Xcode over USB once and it will appear.
3. Put both devices on the same network — really the same
Xcode finds the phone with Bonjour (mDNS), which only works inside one local network. Being on the "same Wi‑Fi name" isn't always enough:
- Guest networks and client isolation block devices from seeing each other. Common on office, hotel, and café Wi‑Fi.
- Mesh and dual-band routers sometimes put 2.4 GHz and 5 GHz clients, or different access points, on separate segments.
- Corporate networks often split devices into VLANs or filter multicast.
A quick test: can your Mac see other Bonjour devices on that network, such as a printer or an Apple TV? If not, the network is the problem, not Xcode.
4. Check VPNs and firewalls on the Mac
A full-tunnel VPN on the Mac can route local traffic away from the Wi‑Fi, and an aggressive firewall or security tool can block the incoming connections the debugger uses. Disconnect the VPN or pause the tool, then try again. (Mesh VPNs like Tailscale normally leave local traffic alone, but "exit node" or "route all traffic" modes don't.)
5. Check what the system actually sees
In Terminal:
xcrun devicectl list devices
If the phone is listed as available, the problem is between Xcode and the device session — restart Xcode. If it's listed but unavailable, the Mac can't reach it over the network. If it's not listed at all, the pairing is gone; go back to step 1.
6. Reset the pairing
When nothing else helps, start clean:
- In Xcode, Window → Devices and Simulators, right-click the phone, and choose Unpair Device.
- On the iPhone, Settings → Developer → Clear Trusted Computers.
- Restart both the Mac and the iPhone.
- Pair over USB again (step 1).
7. Is the iPhone on a different network on purpose?
If the phone is at home, with a tester, or in another building, none of the fixes above will help. Apple's wireless debugging isn't designed to work across networks; the device will never show up.
That case has its own fixes. Your options are covered in how to debug an iPhone in Xcode when it's on a different network. The short version: put the Mac and iPhone on a mesh VPN such as Tailscale, and use Nuticast to make the phone visible to Xcode again. The iPhone still needs to be on Wi‑Fi; cellular doesn't work.
Quick reference
| Symptom | Most likely cause | Check |
|---|---|---|
| Phone never appears in Xcode | Never paired, or pairing lost | Steps 1 and 6 |
| "Developer Mode disabled" | Developer Mode off | Step 2 |
| Works at home, not at the office | Client isolation or VLANs | Step 3 |
| Stopped working after installing a VPN | Full-tunnel VPN or firewall | Step 4 |
| Phone is on another Wi‑Fi | Bonjour doesn't cross networks | Step 7 |