虚拟化 OSX 看不到 iPhone 设备

Dev*_*-iL 42 iphone virtualization vmware-workstation debug osx-el-capitan

在使用 iPhone 设备为 iOS 开发时,我已经使用 OSX 运行虚拟机一段时间了。一切正常,直到 El Capitan 更新。自更新以来,iPhone 不再被 VM-OSX(包括 iTunes、Xcode 和 AppCode)识别。

iOS设备肯定连接到VM而不是主机,我在将它插入主机和VM的USB时出现的弹出窗口中单击了“信任这台计算机”。

除了回到优胜美地之外,还有什么办法可以解决这个问题吗?

提前致谢!

系统配置:

  • 主机操作系统:Windows 10 Pro 64 位。
  • 虚拟机操作系统:OS X El Capitan v10.11。
  • VMWare Workstation 11.1.2(已修补以支持 OSX)。
  • iPhone 6,运行 iOS 9.0.2。
  • iTunes 12.3.0.44。
  • IDE1:Xcode 7.0.1 (7A1001)。
  • IDE2:AppCode-OC (EAP) 142.5239.5。

更新1:

按照此问题的示例,该设备确实出现在硬件列表中:设备列表


更新 2:

如此线程中所讨论的,AppleUSBEthernetHost.kext我的系统 (v8.0.1) 上存在的故障可能是导致问题的原因。我尝试用旧版本(7.0)替换它。

这些是我采取的步骤:

  1. 通过在 VM 启动期间按住 WinKey+R启动恢复以禁用系统完整性保护(又名“ SIP ”)(根据此答案,VMWare 将其映射到 Command+R )。
  2. 当在恢复后,就进入终端效用和残疾人SIP使用命令csrutil disable所描述这里,通过再引导执行。
  3. 将 替换为kext旧版本,在撰写本文时可使用此处详述的方法获得(简而言之:下载最新的 iTunes dmg;使用Pacifist打开它;安装子包manual\MobileDevice.pkg)并重新启动(以确保加载了正确的版本) .

此操作没有解决我的问题。

Dev*_*-iL 64

受此线程的启发,讨论了 El Capitan 中引入的新 USB 处理系统,我尝试在我的VM 配置中进行非常简单的设置更改,设法为我解决了问题:

VMWare USB 设置更改

由于我的设备无论如何都是通过 USB2 端口连接的,因此只需告诉 VM 将端口视为此类。

我知道这个解决方案并不完美,因为它可能会损害 USB3 通信的传输速率,但它在性能上的不足之处在于它的简单性:)

注意:您需要关闭 VM,更改 USB 兼容性设置并重新启动以使更改生效。执行此操作时断开 iPhone/iPad 与主机的连接,以防万一

  • @AlexS - 刚刚在 VMware 工作站 12.1.0 + Xcode 7.2.1 + iOS 9.2.1 (iPhone 6) + OSX 10.11.3 上进行了测试 - **仍然有效**,如预期:) (3认同)
  • 有人在 VirtualBox 上遇到过这个问题吗?我在与作者相同的列表中看到该设备,但 Xcode 或 iTunes 未检测到它。我尝试了 USB 1.1、USB 2.0 和 USB 3.0。没有任何效果,有什么想法吗? (3认同)