Mac os on VirtualBox does not recognize Iphone - ios

I have been trying to connect an iPhone to Mac OS High Sierra, I've installed on VirtualBox for testing swift app I am trying to develop. However, even I connect the phone to the USB, I can't select the phone from the devices.The message in the device section says that No device connected to the mac.
So I have following questions,
1)Is it even possible to deploy and test iPhone app from mac os hosted on VirtualBox? and how to do it?
2)Are there any alternatives VMs to VirtualBox that allows me to connect my iPhone to virtual mac os for development purposes?
Thank you.

I've tried all the above solutions but still, my macOS on the virtual box wasn't able to recognize my physical iOS device.
For me somehow simply turning on USB tethering on my iOS device worked.
From the Home screen, tap Settings > Personal Hotspot. If you don't see Personal Hotspot, tap Carrier and you will see it.
Tap the switch next to Personal Hotspot to turn on.
Connect your device to the computer using the USB cable.
The device will automatically begin tethering after syncing is complete.

First of all you need the Virtualbox Extension Pack.
The Extensions Pack for Virtualbox allows you to use USB devices. First download the file, called "Oracle_VM_VirtualBox_Extension_Pack-4.1.6-74713.vbox-extpack", from the Virtualbox website Download here. Then open up Virtualbox and open "Preferences" from the File menu. Go to Extensions and add the extensions file. If you're using Ubuntu, you'll need to go one step further and add your user account to the "vboxusers" group. Open the System Settings from the launcher, then go to "Users and Groups." Once there, click "Manage Groups." Reboot your system.
Setting Up USB
Plug your iPhone into your computer and open up Virtualbox. Choose the machine that you want to use your iPhone with and open up the machine settings. In the left pane click the option "USB." Make sure that "Enable USB Controller" and "Enable USB 2.0 (EHCI) Controller" are both selected. Click the "Add" button on the right side of the window, which looks like a USB plug with a green plus sign, and select the iPhone. Click "OK" to close settings.
Using Your iPhone
Once you've set up the USB, start your virtual machine. In the Title bar, you will see the "Devices" menu; click this and go to "USB Devices." Select your iPhone to mount it to your virtual machine. Once mounted, you can use the iPhone as you would if you were using your native OS. You can install your APP via XCode now.

if you're still struggling how to connect your Iphone device to a virtual-box guest MacOS. I recommend installing vmware and and install macos on that. since vmware does not have this problem at all
if you went throught alot of pain installing macos on virtualbox I recommend this tutorial which also provides you with all the file you need. it's straight forward tutorial and works all the way without any problem.

Related

How do I run/test my Flutter app on a real device?

I want to run/test (not automated test) my Flutter app on a real iPhone and Android phone during development. However, Flutter docs seem to only document how to do it with the iOS simulator or Android emulators.
I think it's already a no-brainer for iOS/Android devs but I am neither and Flutter is my first foray into mobile development.
Is there any link to a beginner's guide somewhere on how to develop while running it on a real device (with all of Flutter's live-reload goodness)?
Additional context
I'm a web developer.
I use Android Studio and VS Code.
I work on a MacBook.
For Android, this is pretty easy:
Enable Developer options and USB debugging on your device. This varies slightly by Android version, but the short version is you tap on the Device Build Number 7 times. Then a "Developer Options" option comes up and you can click "enable USB Debugging." See the linked Android documentation for the most up-to-date instructions.
Then plug your phone into your computer with a USB cable. You'll probably see some popup on your phone asking if you want to allow USB debuggng with that computer. Say "yes".
Run Flutter just like you would if you had a simulator running.
Using the right cable can make a difference. If the device is charging but nothing happens, try using another cable, preferably the one that came with the device. A notification on the device (e.g. "connected as a media device") and on Windows (e.g. "Device connected and ready to go") are indications that the USB connection is working. You should then be able to see the device on the CLI with:
flutter devices
For iOS this is a little more complicated because you need an Apple ID or to sign up for a "Developer Account":
Open XCode, then open "Preferences>Accounts". Sign in with your ID.
"Manage Certificates" > click on the "+" sign and select "iOS Development".
Plug your device into your machine. Find your device in the drop down (Window > Organizer).
Below the Team pop-up menu, click Fix Issue.
In Xcode, click the Run button.
(in subsequent runs, you can deploy to the iOS device with Android Studio, VS Code, or any other IDE of choice, you just need to set up that certificate the first time with Xcode. Here's Apple's documentation on setting up Xcode to run a physical device.)
Also, you can use your android device wirelessly using scrcpy.
Visit this link and install scrcpy. https://github.com/Genymobile/scrcpy
After you install and path scrcpy on your PC/Laptop.
Make sure your phone is connected to your PC/Laptop.
Enable Developers Options and Connect your device to the WIFI.
Open CMD.
Input "adb tcpip 5555". The adb should be restarted
Next, input "adb connect ipaddressofyourdevice:5555"
Ex: adb connect 192.168.254.19:5555
Now, you can use your device wirelessly.
Attach your real device on your development PC. To check setup process, run flutter doctor command. If result success of all required criteria then hit
flutter run

Connect Iphone using Wireless not working

I recently updated to IOS 11 and Xcode 9. Am trying to explore the option of connecting my phone over wifi with xcode for development. My mac and IPhone are both connected to same wifi (corporate network). I have selected the option for connecting my iphone over a network but as mentioned in the WWDC talk, https://developer.apple.com/videos/play/wwdc2017/404, there is not globe icon showing next to my device and consequently if i disconnect my iphone from usb it gives me lost connection error.
Few of device details:
Mac OS : 10.12.6 (16G29)
IPhone : 6S running IOS (1115A372)
XCode : Version 9.0 (9A235)
Am i missing some step or is there a gap in implementation here ?
Posted same question on Apple Developer forum at https://forums.developer.apple.com/message/261911
You have to connect your iPhone via USB for the first time once to Xcode wait till Xcode finishes processing. Now you can click on your device name at the top
it will open the a list of simulators and your currently connected devices
Select the add additional simulators
Make sure that you have selected the Devices tab not Simulator also if you have multiple devices connected to your Xcode at the same time make sure to select the device you want to be connected view network in the left pan first.
Also you have to make sure that both your Computer and iPhone are both connected to the same network.
Now check the check mark for the Connect via Network
Close the current window and remove the USB cable click on build it should build your project through network.
Note: Building through network very slow.
update:
Please see the glob icon your looking for in the image below
So i guess i figured this out. This feature works from my home wifi but not if both of my devices are on my corporate network. Also, as khalid mentioned the installing of app when connected via wifi, is painfully slow compared to USB option. Maybe could use usb to transfer the application and then move to wifi to debug.

how to wireless debug in ipad mini 2? [duplicate]

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?
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
Check that your device has a passcode and add one if it doesn't. Your device must have a passcode to enable remote debugging
The Mac and the iPhone/iPad need to be on the same network to use wireless debugging.
Next, in Xcode
Choose Window > Devices and Simulators, then in the window that appears, click Devices.
Connect your device to your Mac with a Lightning cable.
In the left column, select the device, and in the detail area, select Connect via network.
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.
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:
Make sure your Mac and your Apple TV are on the same network.
Choose Window > Devices and Simulators, then in the window that appears, click Devices.
On your Apple TV, open the Settings app and choose Remotes and Devices > Remote App and Devices.
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.)
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.
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.
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.
Right-click on the device name(Under Disconnected list) and choose "Connect via IP Address...." option.
Type the IP address of the device and chose Connect. (you can find through mobile device Settings > Wi-Fi > Choose the wifi name)
If you have completed all steps given by Surjeet and still not getting network connection icon then follow below steps:
Unpair Device using right click on the device from the Connected section.
Reconnect the device.
Click on "+" button from the end of the lefthand side of the popup.
Select the device and click on next button
Click on Trust and passcode(if available) from the device.
Click on Done button.
Now, click on connect via network.
Now you can see the network connection icon after the device name. Enjoy!
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.
After few seconds you can see network sign in front of you device.
Unplug your device and use debugging as you're using normally.
Thanks
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).
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 ;-)
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
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.
Try this:
Plug your iOS device into your Mac using a lightning cable. You may need to select to Trust This Computer on your device.
Open Xcode and go to Window > Devices and Simulators.
Select your device and then select the Connect via network checkbox to pair your device.
Run your project after removing your Lighting cable.
You can open Xcode Help -> Run and debug -> Network debugging for more info. Hope it helps.
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
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
OR
On iPhone-
Xcode ► Window ► Devices and Simulators ► select devices Tab ► click connect
via network
https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad
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...'.
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
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.
Xcode 9 - For detailed info goto Help -> Pair a wireless device with Xcode (iOS, tvOS)
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.
Enable Internet Sharing using USB ports:
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.
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.

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

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?
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
Check that your device has a passcode and add one if it doesn't. Your device must have a passcode to enable remote debugging
The Mac and the iPhone/iPad need to be on the same network to use wireless debugging.
Next, in Xcode
Choose Window > Devices and Simulators, then in the window that appears, click Devices.
Connect your device to your Mac with a Lightning cable.
In the left column, select the device, and in the detail area, select Connect via network.
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.
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:
Make sure your Mac and your Apple TV are on the same network.
Choose Window > Devices and Simulators, then in the window that appears, click Devices.
On your Apple TV, open the Settings app and choose Remotes and Devices > Remote App and Devices.
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.)
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.
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.
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.
Right-click on the device name(Under Disconnected list) and choose "Connect via IP Address...." option.
Type the IP address of the device and chose Connect. (you can find through mobile device Settings > Wi-Fi > Choose the wifi name)
If you have completed all steps given by Surjeet and still not getting network connection icon then follow below steps:
Unpair Device using right click on the device from the Connected section.
Reconnect the device.
Click on "+" button from the end of the lefthand side of the popup.
Select the device and click on next button
Click on Trust and passcode(if available) from the device.
Click on Done button.
Now, click on connect via network.
Now you can see the network connection icon after the device name. Enjoy!
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.
After few seconds you can see network sign in front of you device.
Unplug your device and use debugging as you're using normally.
Thanks
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).
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 ;-)
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
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.
Try this:
Plug your iOS device into your Mac using a lightning cable. You may need to select to Trust This Computer on your device.
Open Xcode and go to Window > Devices and Simulators.
Select your device and then select the Connect via network checkbox to pair your device.
Run your project after removing your Lighting cable.
You can open Xcode Help -> Run and debug -> Network debugging for more info. Hope it helps.
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
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
OR
On iPhone-
Xcode ► Window ► Devices and Simulators ► select devices Tab ► click connect
via network
https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad
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...'.
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
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.
Xcode 9 - For detailed info goto Help -> Pair a wireless device with Xcode (iOS, tvOS)
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.
Enable Internet Sharing using USB ports:
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.
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.

iOS – Run/Debug/Install builds over Wi-Fi

We have iPad and iPhone devices, but short of wires. Is there any way that we can install/debug the builds over Wi-Fi in iOS?
I know the way in Android, but not of iOS.
Now by using Xcode 9 and iOS 11 it is possible to run apps by using Wi-Fi.
Connect the iPhone via USB, go into the device window (Cmd-Shift-2), select your phone, and check the connect via network box.
More thorough instructions with screenshots here
Pre-Xcode 9 answer:
Over Wi-Fi installing and debugging of applications is not possible in iOS.
But there are some websites where you can upload your builds and then download on device and test it.
(Before you read make sure your running IOS 11 and Xcode 9!) Connect your device (Via USB), once you do go on 'Add Additional Simulators' (See image 2 at the bottom), and tick 'connect via network' (See Image One). Once XCode proccesses this, disconnect the device (via USB) and it should now appear with a globe next to it (See image 2)! Also make sure the device and computer are on the same network!
Image 1
Image 2
Simple Solution: http://diawi.com
Upto Xcode 8 & iOS 10 : Through wifi its not possible.
You just upload your ".ipa" file to this website http://diawi.com & get sort link for that. After that install build by requesting that link in iphone browser.
From Xcode 9+ & iOS 11+ : Its possible install debug build through wifi.
Open your project on Xcode
Connect your ios device with USB cable.
In xcode menu open Window -> Devices and Simulators or press (Cmd-Shift-2). You should see your device as connected devices.
Select your device and enable check box “Connect via network”.
Now you can see a network icon next to your phone name. This icon confirms that you can able to run build in wifi.
Now run your build through wifi to install build in your ios devices.
Using Xcode 9 you can debug over wifi(same network).
Make sure you have at least Xcode 9 or later and a device with iOS 11 or later
1- Open your project on Xcode
2- Plugged in your iPhone with USB cable.
3- Open Window > Devices and Simulators
You should see your device as connected devices
4- Select Devices from the top, Select your device from left and Check the “Connect via network” box
5- Now if Xcode can connect to your device via network, you should see a network icon after your phone name
6- Unplug your USB cord
7- Go back to Xcode and Hit the Run button
For deployment/CI I have tried and highly recommend BuddyBuild solution, here is some of the many features it has:
Excellent user help (chat/email) system and online service.
Supports webhooks so that a build is started whenever you push to your App repository. (All Git source control repos supported)
You can arrange system to auto send your builds to a preset list of testers/users whenever builds are ready.
You can [Auto] integrate their SDK to allow user feedback and crash reports.
It auto checks your app for compatibility with latest Xcode versions.
To activate a Wireless Debugging for iOS device to Run|Debug|Install your builds over Wi-Fi, you need to take six steps:
Connect a device via USB cable to the Mac with macOS 10.12.4+ and Xcode 9+ installed.
Launch Xcode.
Press Shift-Command-2 or go to Window-Devices and Simulators menu.
In the Devices tab select the devices from the Connected section.
Select the Connect via network checkbox (and wait for a few minutes when it's finished).
Disconnect USB cable.
This Network icon in the left panel means – Wireless Debugging is OK.
On iPhone go to General–Device Management–Application to trust and press TRUST.
Now you can Run | Debug | Install your builds over Wi-Fi.
To do this, connect your iOS device to your Mac using the appropriate USB cable, and select the Window tab in the menu bar, open the Devices and Simulators window by selecting Devices and Simulators from the Window dropdown or Cmd + Shift + 2.
Ensure that your device is selected in the list farthest to the left in the Devices and Simulators window. Check the Connect via network box.
If your device is on the same network as your Mac, you’ll see a globe appear next to your device’s name within a few moments. This indicates that your device is wirelessly connected.
You can now disconnect the USB cable connecting your device to your Mac, and build and run your app wirelessly.
Please check out this tutorial,
http://honzadvorsky.com/articles/2015-10-21-17-40-xcode_server_tutorials_4_certificates__provisioning_profiles/
here you can find a way for "App Installation over Wi-Fi"
I have not get a chance to implement it yet, but may be will try it out asap. meanwhile if someone is free then can try and post their view here so others can get help. Thanks
Requirements: iOS 11 and XCode 9, iOS device and computer on same wifi network.
Connect your device with USB Cable, launch Xcode, then on Xcode menu, choose: Window->Devices and Simulators. Choose device and check "Connect via network". Now you can disconnect USB and develop on device using wifi.
ScreenShot
" http://diawi.com "
this provides you build link of your project.
Whereas with wifi its not at all possible.
Wireless debug requires Xcode 9 or later and iOS 11 or later. Check this link. Here are detail steps to connect device for wireless debugging.
Connect the iOS device via USB. Go into the device window (Cmd-Shift-2), Select your device and check [x] connect via network. Remove USB cable and IMPORTANT: Connect your device via Personal Hotspot.
Agree with Amr I have found buddybuild as Jenkins+Hockey in one. Extremely useful and so far it seems good product.
With buddybuild you dont need to ask anyones UDID of their iOS device. Also I use it for test automation, where they give you freedom to spin whatever you want as long as you know how to set it up in their postbuild and prebuild scripts
To add to the above answers, for me the Mac and the iPhone should be connected to the SAME wifi network. Otherwise it will not recognise each other.
Over Wifi app installation is possible after we generate an IPA .
Create a plist file with bundle identifier
(See apple documentation for steps )
Create a HTML file
(give the source of IPA (link tag) and bundle identifier / Provisioning profile)

Resources