How do you perform wireless debugging in Xcode 9 with iOS 11, Apple TV 4K, etc?
Asked Answered
P

20

460

Wireless debugging was recently added as a feature in Xcode 9, iOS 11, and tvOS 11. Apple TV 4K doesn't have a USB port, so it requires wireless debugging. How do you perform this wireless debugging in Xcode?

Padilla answered 6/6, 2017 at 6:31 Comment(6)
Was anyone really successful in doing a wireless debug? I had followed the same steps, but it keeps showing iphone is disconnected when i try to do a wireless debug. Connected debug works fine.Lacerate
@Lacerate It works. You need to be on the same network.Misnomer
I have checked the wireless debug, it is working finePadilla
Got it working here even using another tethered iPhone as WiFi support.Furthest
Yea currently using it while tethering from the iPhone and using VPN on my macbook. No probs at all. Just getting frustrated with the iPhone locking - not only if falls asleep but the Xcode requires it to have passcode/touchID enabled. I can't make it stay awake as it does when connected with cable.Glacier
The connection gets disconnected after say 10-20 seconds!. Any Ideas Why So,? Thanks!Hoffert
H
769

Set up a device for network debugging

from help.apple.com

Debug your app running on an iOS or tvOS device over a Wi-Fi or other network connection.

Steps to set up iPhone, iPad, or iPod touch

  1. Check that your device has a passcode and add one if it doesn't. Your device must have a passcode to enable remote debugging

  2. The Mac and the iPhone/iPad need to be on the same network to use wireless debugging.

Next, in Xcode

  1. Choose Window > Devices and Simulators, then in the window that appears, click Devices.
  2. Connect your device to your Mac with a Lightning cable.
  3. In the left column, select the device, and in the detail area, select Connect via network.

enter image description here

Xcode pairs with your device. If Xcode can connect with the device using a network, a network icon appears next to the device in the left column.

enter image description here

  1. Disconnect your device.

Now you are ready for debugging over the network.

Sometimes it doesn't work. You might need to restart the device or network connection.

Note: Network debugging requires Xcode 9.0 or later running on macOS 10.12.4 or later, and on the device, requires iOS 11.0 or later, or tvOS 11.0 or later.


Steps to set up Apple TV:

  1. Make sure your Mac and your Apple TV are on the same network.

  2. Choose Window > Devices and Simulators, then in the window that appears, click Devices.

  3. On your Apple TV, open the Settings app and choose Remotes and Devices > Remote App and Devices.

  4. The Apple TV searches for possible devices including the Mac. (If you have any firewall or Internet security, disable/turn it off to allow searching.)

  5. On your Mac, select the Apple TV in the Devices pane. The pane for the Apple TV is displayed and shows the current status of the connection request.

  6. Enter the verification code displayed on your AppleTV into the Device window pane for the device and click Connect.

Xcode sets up the Apple TV for wireless debugging and pairs with the device.

enter image description here

enter image description here

Henrion answered 6/6, 2017 at 7:10 Comment(41)
@Balasubramanian Hope your device having iOS 11 and using xcode 9.Henrion
Thinking the same, there is no way i'm gonna install ios 11 beta 1, this build is so broken i'm surprise people are even taking the chance on upgrading to itJunior
@elGeekalpha Yes, iPhone and MAC should share same network to use wireless debugging. I'll edit my answer and add this. ThanksHenrion
It looks like the devices have to be on the same network. Could you add it to the answer? Thanks!Discriminating
@Discriminating I have added your suggestion, Thanks for reminding me.Henrion
@Surjeet I am getting an error : 'Device doesn't support wireless sync'Orphanage
@Orphanage Which device are you using and what you have done so far ?Henrion
I am using iphone 6 plus, I have followed all the steps u have listed above. If I make a hotspot from my mobile data and use it in my mac, the app installs wirelessly but if they are connected on same wifi then it shows the errorOrphanage
For me it wasn't working initially. But when I restarted the device it started working. Thanks Apple for wifi debugging :)Drummond
Restart and brief wait while "iPhone was busy" and it's working.Overspread
I am able to run applications over wifi. But if I try to run XCTest cases then it is throwing error: Device doesn't support wireless sync. I have turned on wireless sync option in iTunes, still I am facing same issue.Maxim
My Mac has only one USB, and Wireless is broken, so I have only 1 USB port for Wireless Dogle and iPhone . Is there anyway to setup this with just 1 USB port?Boldface
Is it possible to build and run wirelessly with xcodebuild from the command line?Discography
yes. Its possible. Same xcodebuild commands work for wireless case as well. Based on the destination, it checks whether device is connected over usb or wifi.Maxim
It worked for me after I unpaired my iPhone (In the device list in Xcode right click on the iPhone and then click unpair) and paired it again.Kazmirci
Even for me it was not showing the Network icon indicated in the answer,however it showed up once I restarted the device. Thanks @Surjeet!Maddening
@Surjeet: I can see the devices listed even if it is not connected by cable, but when I try to run the app, it gets stuck at Signing product and the Xcode 9 hangs. It won't respond and I have to kill the Xcode.Maddening
@Overspread : me too iPhone is busy:Waiting for Device ..Solution pleaseWinton
@Winton - I gave my phone a reboot and tried again. It worked after the reboot.Overspread
Is it possible to do that over a VPN?Lifeblood
@Lacek As per my understanding is not possible the wireless debugging over VPN. Will check any workaround to do that, if anything get will update here.Padilla
Super important remark when connecting to Apple TV via network: it doesn't work when your Mac is also connected to Apple TV via USB.Paillette
Note, this will only work if the device (checked with Apple TV 4) was previously not paired already. Just unpair it in case, and then follow the instructions listed above.Fenestrated
Is it possible to setup remote debugging without connecting via cable since I don't "lightning to usb-c" adapter for mac macbook pro?Bio
@Sergio No, you can't. You have to connect once via cable. After that you doesn't required cable for that device.Henrion
This should me put on top of answer NOTE: Mac system and iPhone/iPad should share same network to use wireless debugging.Heaney
This answer did not work for me on this step of this answer: 4. The Apple TV searches for possible devices including the Mac. I needed to turn off my Mac Firewall and McAffee Internet security for this to work. Someone with edit capability should add that to the answer.Nurserymaid
Note: After setting up the Apple TV, I of course re-enabled my firewall and internet security and all continued to work. Only need to disable them so that the apple TV could discover the Mac.Nurserymaid
Are there any news about combining this feature with VPN? It would allow using a remote server for building and debugging iOS which would be a huge advantageFrug
It connects after manually entering the device IP Address. (connect remotly)Piezoelectricity
if your device was previously paired WITHOUT passcode then after enabling passcode in device settings you have to re-pair device againSuspensoid
But it's really don't work! i already restared my phone, restarted Mac, change type of local (wifi/3G/LTE), change wifi router (Asus/TP-LINK/D-LINK/Netis) no one normal solution, sometimes i can connect to debug but it's sometimes it's very very seldom. Apple create awesome idea for debug via wifi but like usual it's working sickeningly!Forerunner
I had to turn off the Firewall, pair de Apple TV, then it worked, even turning the Firewall back on after pairing.Grand
This works nice for me, except that it is considerably slower to install a dev build on a device wirelessly than through a wirePreference
@Frug I can confirm that this feature can be combined with OpenVPN to debug from a remote server using a fairly standard OpenVPN configuration on Mojave. I have a few more details here, but if anyone needs detailed instructions, feel free to contact me.Slavism
Many times I've found that this feature is really hard to get working in company/office environments; likely the company is blocking necessary ports etc. Also when using Cisco AnyConnect Secure Mobility Client on macOS (a utility to connect macOS to a remote network through VPN), that utility also, unfortunately, blocks/hinders use of Xcode network connections to iOS devices, even on the local WiFi network. DOH.Furthest
imp tips to connect: On your Apple TV, open the Settings app and choose Remotes and Devices > Remote App and Devices. (and Stay on this screen don't go back if you are already connected or searching for new)Dioecious
My case: Restart iPhone and reconnect MacBook Wifi then check it again. It works.Ramsay
Enable Bridge mode on vmwareYearround
I couldn't connect iphone 6 to macbook 2018 with cable.Saracen
You should be connected with same network on mac and iPhone to debug wirelessly.Kachine
F
76

I have tried using Xcode Devices window's Connect via network options. but I am unable to see the "Connected over the network" icon next to the device name. also as soon as remove the USB the "Connect via network" option disappeared. also, the device name appears under the disconnected device list.

But using the "Connect via IP Address..." option, I am able to connect.

  1. Right-click on the device name(Under Disconnected list) and choose "Connect via IP Address...." option.

enter image description here

  1. Type the IP address of the device and chose Connect. (you can find through mobile device Settings > Wi-Fi > Choose the wifi name) enter image description here
Fiddling answered 13/10, 2017 at 2:52 Comment(6)
When I input IP and tap 'Connect', It is loading forever :(Helsell
@Helsell Both phone and mac use same wifi ? Also double check you use compatible Xcode.Fiddling
I'm pretty sure that both was using same WiFi and Xcode version is 9.1, MacOS 10.13.1, iPhone 11.1. Problem was with the network I hope, it worked when I used different networkHelsell
Same with me. But some times works and some time doesn't work... I need close and open my xcode several times to work. Both was using same WiFi and Xcode version is 9.1, MacOS 10.13.1, iPhone 11.1.Tupungato
@Helsell it takes a bit..but it works, this is the only solution that worked for me. Thanks damithH!Pathan
Be sure both devices are connected to same networkDoll
K
49

If you have completed all steps given by Surjeet and still not getting network connection icon then follow below steps:

  1. Unpair Device using right click on the device from the Connected section.

    enter image description here

  2. Reconnect the device.

  3. Click on "+" button from the end of the lefthand side of the popup.

enter image description here

  1. Select the device and click on next button

enter image description here

  1. Click on Trust and passcode(if available) from the device.

enter image description here

  1. Click on Done button.

enter image description here

  1. Now, click on connect via network.

enter image description here

Now you can see the network connection icon after the device name. Enjoy!

enter image description here

Kopaz answered 20/9, 2017 at 11:19 Comment(4)
Does it have any condition like range limitation? because when i Connected it it started launching my application and got disconnected?Hoffert
I can't see the network connection icon after the device name. Is this issue related to wifi connection?Aftmost
YES IT worked, I guess it's because it was previously paired without PASSCODE, but when we enable passcode in device settings we need to re-pair device againSuspensoid
maybe yes, If your device isn't connected through a wifi then it will not appear @AftmostKopaz
U
25

Prerequisite

  • Your Mac Machine should have at least Mac OSX 10.12.4 or later
  • Your iOS device should have at least iOS 11.0 or later
  • Both devices should be on same network.

Steps to Activate

  • Plug your iOS device with Mac machine from cable.

  • Open Xcode then from top menu Window -> Devices and Simulators

  • Chose Devices segment and chose your desired Device from left device list.

  • On right side you can see open Connect via network, enable this option as shown in attached image. Connect via network

  • After few seconds you can see network sign in front of you device. enter image description here

  • Unplug your device and use debugging as you're using normally.

Thanks

Unlimited answered 7/6, 2017 at 10:3 Comment(6)
Have you read @Surjeet’s answer? This answer don’t add any remarkable value and makes the post unnecessary large.Discriminating
@Discriminating i started following surjeet answer but he didn’t mentioned about same network by this i was facing issue while connecting via network. Yes my answer is large but not unnecessary as i did mistake others user will not and also this answer will help newbies too. Hope you understand and other will ger help too: enjoy codingUnlimited
Sorry, I didn’t want to be rude but the first impression seemed to me that you had written that without reading it. Thanks for the explanation and enjoy the WWDC17 too!Discriminating
"After few seconds you can see network sign in front of you device. " < this detail helped meFurthest
I was glad for the pictures. "A thousand words" and all that.Mulch
@Muju could you please look try this answer: https://mcmap.net/q/80205/-how-do-you-perform-wireless-debugging-in-xcode-9-with-ios-11-apple-tv-4k-etcUnlimited
O
22

If after following the steps as described by Surjeet you still can't connect, try turning your computer's Wi-Fi off and on again. This worked for me.

Also, be sure to trust the developer certificate on the iOS device (Settings - General - Profiles & Device Management - Developer App).

Omophagia answered 11/6, 2017 at 9:42 Comment(2)
Toggling wi-fi on computer helpedMercator
This did it for me, after Surjeet's answer.Repurchase
W
14

Network debugging requires Xcode 9.0 or later running on macOS 10.12.4 or later, and on the device, requires iOS 11.0 or later, or tvOS 11.0 or later.

iPhone

iOS 11 won't be available for 32bit devices, i.e. iPhone 5 and iPhone 5c and below. The first 64bit iPhone is 5s.

iPad

iPad mini 2 will be the oldest iPad with iOS 11 support.

iPod

iPod needs to be an iPod 6 to be able to run iOS.

If you use your devices not only for developing but also for production, be warned that a beta OS is not for the faint hearted ;-)

Warram answered 6/6, 2017 at 20:17 Comment(2)
iOS 11 is compatible with these devices. iPhone iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone 6 iPhone 6 Plus iPhone SE iPhone 5s iPad 12.9-inch iPad Pro 2nd generation 12.9-inch iPad Pro 1st generation 10.5-inch iPad Pro 9.7-inch iPad Pro iPad Air 2 iPad Air iPad 5th generation iPad mini 4 iPad mini 3 iPad mini 2 iPod iPod touch 6th generationRomanticist
iPad Air is supported actually - the first 64 bit iPad.Niece
D
12

In the new Xcode9-beta, we can use wireless debugging as said by Apple:

Cut the Cord
Choose any of your iOS or tvOS devices on the local network to install, run, and debug your apps – without a USB cord plugged into your Mac. Simply click the ‘Connect via Network’ checkbox the first time you use a new iOS device, and that device will be available over the network from that point forward. Wireless development also works in other apps, including Instruments, Accessibility Inspector, Quicktime Player, and Console.

Try this!

If facing disconnection issues, try this:

Workaround: Enable airplane mode on your device for 10 seconds and then disable airplane mode to re-establish your connection

Ding answered 6/6, 2017 at 7:39 Comment(4)
@Surjeet's answer is much more comprehensive.Tamie
@Lacek I am not sure but I doubt, both devices should be connected to same WiFi network.Ding
I also doubt, but once I have been surprised what is the solution to the "I will not download more than 100 MB over a cellular network" message from iOS - you tether cellular to a mobile phone (by a USB) and share it as a WIFI, and then iOS think it is using a WIFI... I was hoping for a similar hack, this time more involved.Lifeblood
"Enable airplane mode on your device for 10 seconds" This helped!Mission
V
11

Try this:

  1. Plug your iOS device into your Mac using a lightning cable. You may need to select to Trust This Computer on your device.

  2. Open Xcode and go to Window > Devices and Simulators.

  3. Select your device and then select the Connect via network checkbox to pair your device.

  4. Run your project after removing your Lighting cable.

Veriee answered 8/10, 2019 at 11:3 Comment(0)
V
10

I just talked to some Xcode engineers at WWDC and the auto discovery of iDevices is still a little buggy. Also sometimes your phone is not correctly broadcasting. Switching your device on and off can help.

There are a few workarounds/fallbacks:

You can check if your phone is broadcasting with Bonjour Browser (www.tildesoft.com). Look if your wifi address is listed under the service called '_apple-mobdev2._tcp. - 215' (you can find your wifi address here: settings > general > about > wifi address.

As a fallback you can connect to your device by manually entering the IP address (right click on your devices in the Devices window). However this IP address will be persisted, so if you change networks you'll need to reset this. That option is not available in Xcode yet, but you can do it via the terminal with the following command:

defaults read com.apple.dt.Xcode | grep IDEIDS

This will print an identifier which you need to use in the next command:

defaults delete com.apple.dt.Xcode <identifier>

Now the ip address is cleared and you can enter a new one.

The last option is to create a computer-to-computer network. This works fine, but logically you won't have internet access then.

Vanpelt answered 7/6, 2017 at 21:40 Comment(3)
It seems in beta 4 there is no more option to set IP manually. :( On a side note, I couldn't make my iPhone 6s with beta 4 to connect to Xcode 9 beta 4.Prone
To be able to see the set ip address option I had to unplug the device from the usb portKatsuyama
It's the end of 2020 and still buggy as hell.Pimental
D
5

You can open Xcode Help -> Run and debug -> Network debugging for more info. Hope it helps.

Diageotropism answered 6/6, 2017 at 7:2 Comment(0)
D
5

i followed all the suggested steps, in particular the ones provided from ios_dev but my iPhone was not recognized from Xcode and i was not able to debug over WiFi. Right click on the left panel over my iDevice in "Devices and Simulators" window, then "Connect via IP Address...", inserted the iPhone IP and now it correctly works

Deuced answered 28/9, 2017 at 9:50 Comment(1)
It's important to note: the device needs to be disconnected from the system in order for this option to show up.Ocko
H
5

For wireless debugging, Mac system and iPhone/Device should be on same network. For making on same network you can do as - Either you can start hotspot on Mac & connect that on iPhone/Device or vice versa.

On Mac

enter image description here

OR

On iPhone-

enter image description here

Xcode ► Window ► Devices and Simulators ► select devices Tab ► click connect via network enter image description here

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad

Heaney answered 6/12, 2017 at 6:8 Comment(1)
When my iPhone XS Max is set to Personal Hotspot and I connect my macbook pro to it, I then cannot use the iPhone as a debug device. The only case of wireless debugging that works for me is to connect them both to the same wifi router. This is very annoying when coding on the go. I always have to carry a cable with me.Bushey
A
4

My problem was about network SSID broadcasting.

I've tried all the solutions above but still couldn't connect my device, there was no 'globe' icon for my device at all. Then I found that for some reason my network had turned its SSID broadcasting off(tho I could still connect the network by inputing the SSID manually). Once I turned the SSID broadcasting on, I could connect my device via 'Connect via IP Address...'.

Azpurua answered 26/10, 2017 at 12:58 Comment(1)
Please provide a more complete description of the issue that you faced. Atleast how it solves the question about 'how to perform wireless debugging?' If this is a separate issue please create a new question and answer itCommencement
H
3

I tried all answers but nothing worked for me. I ended up connecting to different WiFi network then I was able to debug wirelessly.

I have no clue why it didn't work with the old network

Helsell answered 21/11, 2017 at 7:2 Comment(1)
It didn't work for me on my network. Connecting to the bluetooth sealed the deal... not sure if it helped in any way or how...Consolute
P
3

The only thing that worked for me was to connect my phone to my MacBook using Bluetooth. (I did this after first pairing my phone with Xcode while connected via cable per ios_dev's answer above.)

On my phone, I went to Settings > Bluetooth and tapped my MacBook's name under "MY DEVICES" to connect.

I then went to Xcode > Devices and Simulators, selected my phone and checked "Connect via network". After a few seconds, the globe icon appeared next to my phone and I could run and debug my app on my phone.

This worked even when my MacBook was connected to a WiFi network and my phone was using LTE. The only downside is that it was quite slow installing the app to the phone.

Pseudaxis answered 26/8, 2019 at 20:45 Comment(1)
Indeed! After trying everything else found around, connecting to my Mac in bluetooth worked instantly.Parrotfish
H
2

Xcode 9 - For detailed info goto Help -> Pair a wireless device with Xcode (iOS, tvOS)

Helsell answered 13/10, 2017 at 7:26 Comment(0)
G
1

The only way I could get it to work is if my Mac and my iPhone were on different networks. I have a main DSL modem call it network1 and a second network2 setup us an access point. They have SSIDs network1 and network2. If the phone was on network1 and the mac on network2 it would work, or vice versa. But if both were on network1 or both were on network2, it would NOT work.

Gnomic answered 20/6, 2018 at 4:36 Comment(0)
L
1

Enable Internet Sharing using USB ports:

enter image description here

Langer answered 23/5, 2019 at 19:7 Comment(0)
S
1

LOL, I was doing all the steps here - I ended up doing the unpairing/repairing steps from the "given by Surjeet" answer. It didn't work, and then I noticed that when I clicked the "connect via network" button, the same yellow box would pop up that pops up when you repair, saying "busy" - I got frustrated and just started hammering the "connect via network" button, clicking it quickly for probably like 15 - 20 clicks - it started spazzing out, but eventually landed on being able to connect to the network. Before that worked, I also shut my wifi off and turned it on again, as suggested by one of these answers, but clicking the "connect via network" button really fast did the trick...LOL

Also, before I hammered the button, I linked the device support folders, although I'm not sure if it did anything:

open the terminal

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

ln -s 13.3 13.4

ls -l 13.4

restart Xcode and retry run on device

Said to do it here - https://forums.developer.apple.com/thread/126940 - I edited the folder version in my comment to adjust to the latest version of iOS 13.4.

EDIT I believe I figured out what my problem was, I had to stop my Little Snitch network filter. Also, after I was able to connect by hammering the button, the "connect via IP address" option appeared in the dropdown when you right click on the device in the devices manager in xcode, it wasn't there before I was able to connect ultra-hacky style the first time. If I connect, and then turn my network filter on, it disconnects my phone.

Sterilant answered 19/4, 2020 at 2:33 Comment(0)
S
1

Step 1 : First time connect phone with Cable

Step 2 : Go to Organizer & Devices

Step 3 : Tick Connect as Network

Now simple trick which works everytime.

Step 4 : Turn on hotspot on iphone

Step 5 : Connect your mac with that hotspot.

Step 6 : Now run the code.

This will always work.

Sawyers answered 22/12, 2020 at 9:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.