99

I am using Mac OS in VMWare for iOS app development.

After updating the OS and Xcode, the iOS device isn't available so I cannot test it.

When the device is plugged in to the PC, the device appears as connected in VMware and marked with green point. But, it does not appear in Xcode's devices.

I am using Mac OS 10.11. Does anybody have ideas?

Dave S
  • 788
  • 1
  • 11
  • 30
Ken W.
  • 1,550
  • 1
  • 14
  • 18
  • Does this help? (Probably not...) http://stackoverflow.com/questions/9066784/ios-device-testing-via-vmware Note that there is some pretty tricky handshaking that must take place to use a device for development. The "Trust?" dialog should appear on your device the first time. If it doesn't, it may be that you're not going to be able to do this at all, as the device is not seeing that there's a virtual Mac at the other end. – matt Mar 21 '16 at 19:24
  • I've confirmed about "trust this computer", when the device is connected. – Ken W. Mar 21 '16 at 19:57
  • 1
    If the `trust` confirmation didn't appear, you can open iTunes in VM and it is possible that it shows the dialog. – Ahmad Behzadi Dec 22 '16 at 10:18
  • related questions https://askubuntu.com/questions/1109129/macos-vmware-guest-does-not-recognize-usb-dvice https://stackoverflow.com/questions/36139020/macos-on-vmware-doesnt-recognize-ios-device/46779998 https://www.reddit.com/r/hackintosh/comments/7xyi7r/vmware_usb_iphone_connection_loop/ https://superuser.com/questions/981711/virtualized-osx-cant-see-iphone-device – Fabrizio Bertoglio Jan 24 '19 at 19:02
  • https://olarila.com/forum/viewtopic.php?f=50&t=8685 – Fabrizio Bertoglio Apr 25 '19 at 09:18

11 Answers11

222

I had the same issue, but was quite easy to solve. Follow the next steps:

1) In the Virtual Machine (VMWare) settings:

  • Set the USB compatibility to be 2.0 instead of 3.0
  • Check the setting "Show all USB input devices"

2) Add the device into the list of allowed development devices in your Apple Developer's account. Without that step there is no way to use your device in Xcode.

Next some instructions: Register a single device

PerracoLabs
  • 16,449
  • 15
  • 74
  • 127
  • 3
    That's a great workaround but not a solution. What if I like to use USB3 on the same VM? – user643011 Apr 25 '17 at 12:18
  • Same thing for virtualbox but have to install VirtualBox Extension Pack and used USB 3. – Amr Lotfy Sep 28 '17 at 08:23
  • Posted for an other dev -> 0 solutions worked for me except this one, thank you so much. My case was that neither Itunes or Xcode detected my Iphone and i tried every others solutions. Just putting 2.0 USB and rebooting solved this case, my xcode detects now my ipnone perfectly. – Doctor Oct 18 '17 at 16:43
  • This worked but FYI it did give a warning first about "having to connect through a less-than-ideal host controller" or some such... just click through it – pmarreck May 16 '18 at 15:21
  • I also had to switch from a generic Lightning cable to a genuine Apple one to get Safari Developer mode to see my iPhone – BartmanEH Sep 21 '18 at 13:38
  • Hi, The *Show all USB input devices* sections is greyed out in my VMware workstation player 14. How to solve this please? – Franky Mar 13 '19 at 12:41
70

The other answer is lacking some additional information also in the following post. For example, when the iPhone keep Connect / Disconnect in loop. So here is a better solution:

  1. In vmware.log search the vid & pid of your iphone USB:
    Example:

    vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac pid:12a8
    
  2. Close vmware (to unlock .vmx)

  3. In the .vmx, add:

    usb.quirks.device0 = "0xvid:0xpid skip-reset, skip-refresh, skip-setconfig"  
    

    Replace 0xvid:0xpid by the vid & pid found in vmware.log. Example:

    usb.quirks.device0 = "0x05ac:0x12a8 skip-reset, skip-refresh, skip-setconfig"
    
  4. In vmware > Edit virtual machine > USB Controller : USB compatibility : USB 2.0
    Active : Automatically connect new USB Devices
    Active : Show all USB input devices
    Active : Share Bluetooth devices with the virtual Machine

  5. Launch Mac OS and make sure that the mouse is Focus on vmware (or just use the login prompt if it appear)

Lenor
  • 1,471
  • 10
  • 19
  • 1
    This worked out for me. Also, I had the same vid and pid, I am using a genuine apple usb cable(if that makes any difference). – legalimpurity May 05 '18 at 07:22
  • 2
    This should be the accepted answer, this solves the problem when using Windows and the device keeps switching between the OS'es – gi097 Jun 11 '18 at 10:18
  • where `vmware.log` located in Ubuntu 18.04, VMware player 14? – CodeBy Aug 03 '18 at 10:30
  • 1
    I solved consequent issues by changing `usb.quirks.device0` to `"vid:pid skip-refresh"` as instructed from https://kb.vmware.com/s/article/774?lang=en_US . I was receiving in the logs the following error `usb device busy (16)` I also resetted the usb connections with https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line/661#661 I disabled auto mounting of usb devices https://askubuntu.com/questions/89244/how-to-disable-automount-in-nautiluss-preferences The key is reading the logs for errors and researching online in the vmware community – Fabrizio Bertoglio Jan 26 '19 at 19:39
  • I experienced frequent disconnect and the device would not show the `Trust` popup when reconnected. I solved the problem exiting `ITunes` from the virtual machine and re-opening. The popup would either show up or `ITunes` would detect the device. – Fabrizio Bertoglio Jan 27 '19 at 11:36
  • OMG you're a life saver! that solved my issue with Xcode not being able to see my AppleTV! – mchiasson May 10 '19 at 14:56
  • This worked on my older Mac, after I updated to Mojave, it's not working anymore. Anybody? – TPG Jul 09 '19 at 01:31
  • After a few tries, now it's working. Not sure what have been done. Thanks once again. – TPG Jul 09 '19 at 01:46
  • If I change the device to USB 2.0, my keyboard and mouse stops working in the VM. – BBacon Aug 26 '19 at 12:37
  • many thanks! tested with VMWare 15.5.1, host Manjaro, guest Mojave. After plugging in iPhone popup was shown with message smth like "in use by pid", then I killed according process and pressed OK, after some time another popup was shown with msg smth like "device will be disconnected from driver first", pressed OK - and voila, finally worked! – Andrew Mar 20 '20 at 19:10
9

I am running an Iphone 8+ and VMWare macOS High Sierra on a Windows 10 machine.

I went through dozens of troubleshooting posts, and the none of them, excluding setting your VMs USBs to 2.0, helped. Through trial and error, and a decent amount of liquor, I have figured it out.

SOLUTION:

Do these things, in this order:

  1. With the VM off, go to your settings for whichever machine you're using, and change the USBs to 2.0. You can find this in the same menu that you allocated your ram and cores

  2. Make sure your phone is plugged in, and turned off.

  3. Boot up the VM, macOS.

  4. Turn Phone on when mac is booted

  5. Open Xcode

Stephen Rauch
  • 47,830
  • 31
  • 106
  • 135
Mike H
  • 181
  • 1
  • 7
  • 7
    does the type of liquor matter? ;P Skotch did the trick for me. – TheBen Sep 08 '18 at 01:45
  • dude that's an ULTIMATE answer, thanks a lot. i got VMWare 15.0.4 with macOS 10.15.2, and I was getting the BSOD `page_fault_in_nonpaged_area` on my host Windows 10 machine each time i actually tried to connect my iPhone 7 to the VM. i was struggling with it a lot, though, i tried booting with iPhone turned off and then turned it on - and boom - it actually worked and suggested me to update the software to connect my iPhone, i updated and all is working fine – nt4f04und Oct 08 '20 at 16:59
  • @nt4f04und are you using AMD or intel CPU? I'm on a AMD ryzen and still getting the same BSOD – vvavepacket Oct 26 '20 at 00:54
  • 1
    @WantIt I'm on Ryzen 3600. Unfortunately not all as shiny as I wrote in the comment, it actually almost never works, and when it does, I cannot determine under what conditions. It's like Russian roulette. I just gave up this idea, because it consumes a lot of my time, sad story here – nt4f04und Oct 26 '20 at 12:15
  • 1
    @nt4f04und I got it working using VMware 15.5. It was not working with 15.x. What version were u using? I think the old 15.x just contains crappy bugs for the USB support for Darwin. – vvavepacket Nov 04 '20 at 03:17
  • 1
    @WantIt sorry for delayed response, i'm using 15.0.4 build-12990004. thanks for this information, i think i will try this one later on https://www.youtube.com/watch?v=yuwjUv8-uGE – nt4f04und Feb 06 '21 at 15:21
  • @WantIt can you give me some instructions on how you set this up? i just tried upgrading to vmware 15.5.6, but had no luck with this - my vm didn't boot up – nt4f04und Mar 13 '21 at 04:48
  • @nt4f04und Im using 15.5.6 and same setup. And when setting up the USB in vmware it should be USB 2.0. Let me know if any luck – vvavepacket Mar 13 '21 at 23:30
  • @WantIt ye, i got this working with vmware 16.1 (actually, everything starting with 15.5.6 will work i guess, i initially tested on 15.5.7). so i just played around with .vmx file after i updated to new version, converted .vmdk to new format, as it suggested to me, and now it's fully working. also, it appears that another bsod that appeared on copying files also been fixed – nt4f04und Mar 14 '21 at 15:03
  • 1
    @nt4f04und happy you got it working!!! sorry for the extremely long delay, i now occasionally check this thread to make sure you are taken care of.. – vvavepacket Mar 15 '21 at 02:21
  • Changing USB compatibility from 3.0 to 2.0 worked for me! For more information, [click here](https://communities.vmware.com/t5/VMware-Fusion-Discussions/How-to-get-iPhone-to-appear-in-Finder-Fusion-11-5-0-with/td-p/516660) or [detailed information](https://www.isunshare.com/mac/vmware-mac-os-x-not-recognize-ios-device.html) – Oğuzhan Atalay May 18 '21 at 07:15
6

I had same issue with VMWare 12.5.2 and OS: Mac OS Sierra.
These are few steps to solve this issue:(which worked for me.)

  1. Open VMWare.
  2. select your OS. (Mine is MacOS Sierra)
  3. Then In left hand side, Select option "Edit virtual machine settings"
  4. There will be one popup of setting. In that you need to select "Hardware" Tab.
  5. In that, there is option "USB Controller". Select that. You will find option right hand side.
  6. In that, Set USB compatibility as "USB 2.0" and check all 3 options as selected. options must be as following: i) Automatically connect new USB devices, ii) Show all USB input devices, iii) Share Bluetooth devices with the virtual machine
  7. Press OK.

There you go. It will work. Now you can power on your virtual machine.And try to connect your device with proper USB cable. Sometimes there can be issue with USB cable which are not authorized. Still if you have doubt, you can ask me here.

Yash Shah
  • 69
  • 1
  • 2
6

Here is another thing to try (I'm using Windows 10):

  1. Stop the VM.
  2. Open Start.
  3. Type "Services".
  4. Find VMWare USB Arbitration Service and start it.
  5. Connect your device and hopefully, it will be detected.

This is what worked for me. I have no idea why the service wasn't started in the first place and it used to work fine with my IPhone 7. Good luck.

Christian Rizov
  • 331
  • 2
  • 11
4

I would like to add something.

For the devices to work in your Mac you have to make sure that they are connected to it. I don't know how this is handled in other versions but I am using VMware Workstation 12 Player

If you go to Player (Top left corner) > Removable Devices > Enable the device you want

Thats what i had to do.

evandrix
  • 6,041
  • 4
  • 27
  • 38
Chris
  • 329
  • 2
  • 11
3

Do what is suggested in the answer, but make sure you also click inside the VM so that OSX has the focus before you plug in the phone. In my case, I had to do that to make it work.

Ian Vink
  • 66,960
  • 104
  • 341
  • 555
2

I met the same problem. I found the solution in the solution from kb.vmware.com.
It works for me by adding

usb.quirks.device0 = "0xvid:0xpid skip-refresh"

Detail as below:


To add quirks:
  1. Shut down the virtual machine and quit Workstation/Fusion.

    Caution: Do not skip this step.
     
  2. Open the vmware.log file within the virtual machine bundle. For more information, see Locating a virtual machine bundle in VMware Workstation/Fusion (1007599).
  3. In the Filter box at the top of the Console window, enter the name of the device manufacturer.

    For example, if you enter the name Apple, you see a line that looks similar to:

    vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac pid:8240 path:13/7/2 speed:full family:hid]



    The line has the name of the USB device and its vid and pid information. Make a note of the vid and pid values.
     

  4. Open the .vmx file using a text editor. For more information, see Editing the .vmx file for your Workstation/Fusion virtual machine (1014782).
  5. Add this line to the .vmx file, replacing vid and pid with the values noted in Step 2, each prefixed by the number 0 and the letter x .

    usb.quirks.device0 = "0xvid:0xpid skip-reset"

    For example, for the Apple device found in step 2, this line is:

    usb.quirks.device0 = "0x05ac:0x8240 skip-reset"
     

  6. Save the .vmx file.
  7. Re-open Workstation/Fusion. The edited .vmx file is reloaded with the changes.
  8. Start the virtual machine, and connect the device.
  9. If the issue is not resolved, replace the quirks line added in Step 4 with one of these lines, in the order provided, and repeat Steps 5 to 8:
usb.quirks.device0 = "0xvid:0xpid skip-refresh"
usb.quirks.device0 = "0xvid:0xpid skip-setconfig"
usb.quirks.device0 = "0xvid:0xpid skip-reset, skip-refresh, skip-setconfig"

Notes:

  • Use one of these lines at a time. If one does not work, replace it with another one in the list. Do not add more than one of these in the .vmx file at a time.
  • The last line uses all three quirks in combination. Use this only if the other three lines do not work.

Refer this to see in detail.

Mr Special
  • 1,576
  • 1
  • 20
  • 33
0

I have 2 computers with VMWare Workstation and Mac OS Sierra installed as the guest OS. First machine could recognize my iOS device whereas my second machine could not recognize it. The second machine was exhibiting the same behavior as others reported where it would reconnect and disconnect with the iPhone endlessly.

Thankfully, my second machine had network connectivity problems with my VM. So I stumbled upon the solution when I reset my network settings for the VM.

You can try the following steps and see if it works for you. It worked for me.

  1. Go to Start Menu.
  2. Open VMWare folder.
  3. Start VMWare Network Editor.
  4. Click Change Settings button to assign Administrator privileges.
  5. Click Restore Defaults button.
  6. Open Virtual Machine.
  7. Verify internet connectivity on Mac OS.
  8. Connect iOS device. If iTunes launches on Mac, this means that the Mac has correctly identified your iOS device.
0

If you went throught alot of pain installing macos on vmware 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.

alireza easazade
  • 3,324
  • 4
  • 27
  • 35
0

This solution for Ubuntu Host, Macos Guest

  1. disable SIP
  2. install mac ports
  3. sudo launchctl unload /Library/Apple/System/Library/LaunchDaemons/com.apple.usbmuxd.plist
  4. sudo port install usbmuxd
  5. sudo usbmuxd --foreground
  6. then connect iPhone and let the guest to take control

Disabling SIP

  1. Start vmware
  2. select guest and "power to firmware"
  3. in efi menu, enter setup > config boot options > add boot options > select recovery partition > select boot.efi
  4. at input file description hit and type in label e.g. "recovery" > commit changes and exit
  5. boot from recovery and be patient
  6. follow prompt until you see OS X Utilities menu
  7. At the very top menu select Utilities > Terminal
  8. In terminal enter "csrutil status"
  9. then csrutil disable
  10. then csrutil status
  11. then reboot > hit enter once or twice
  12. Double check in OSX Terminal app to ensure SIP is disabled

Finally, disable HiDPI:

$ sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool NO

Referenced from:

Ucdemir
  • 2,852
  • 2
  • 26
  • 44