VMware上的macOS无法识别iOS设备

时间:2016-03-21 18:35:50

标签: ios macos vmware

我在VMWare中使用Mac OS进行iOS应用开发。

更新操作系统和Xcode后,iOS设备无法使用,因此我无法对其进行测试。

当设备插入PC时,设备在VMware中显示为已连接并标有绿点。但是,它并没有出现在Xcode的设备中。

我使用的是Mac OS 10.11。有人有想法吗?

11 个答案:

答案 0 :(得分:168)

我有同样的问题,但很容易解决。请按照以下步骤操作:

1)在虚拟机(VMWare)设置中:

  • 将USB兼容性设置为2.0而不是3.0
  • 检查“显示所有USB输入设备”设置

2)将设备添加到Apple Developer帐户中允许的开发设备列表中。如果没有这一步,就无法在Xcode中使用您的设备。

接下来的一些说明:Register a single device

答案 1 :(得分:37)

另一个答案是缺少一些额外的信息from the following post。 例如,当iPhone保持连接/断开循环时。 所以这是一个更好的解决方案:

  1. vmware.log中搜索视频&你的iphone USB的支付:
    例如:

    vmx | USB: Found device [name:Apple\ IR\ Receiver vid:05ac pid:12a8
    
  2. 关闭vmware(解锁.vmx

  3. .vmx中,添加:

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

    0xvid:0xpid替换为vid& pid在vmware.log中找到。例如:

    usb.quirks.device0 = "0x05ac:0x12a8 skip-reset, skip-refresh, skip-setconfig"
    
  4. 在vmware中>编辑虚拟机> USB控制器: USB兼容性:USB 2.0
    活动:自动连接新USB设备
    活动:显示所有USB输入设备
    活动:与虚拟机共享蓝牙设备

  5. 启动Mac OS并确保鼠标是专注于vmware(如果出现则只使用登录提示)

答案 2 :(得分:6)

我遇到了与VMWare 12.5.2和操作系统相同的问题:Mac OS Sierra。
这些是解决这个问题的几个步骤:(对我有用。)

  1. 打开VMWare。
  2. 选择您的操作系统。 (我的是MacOS Sierra)
  3. 然后在左侧,选择选项"编辑虚拟机设置"
  4. 会有一个设置弹出窗口。你需要选择"硬件"标签。
  5. 在那里,有选项" USB控制器"。选择那个。你会找到右侧选项。
  6. 其中,将USB兼容性设置为" USB 2.0"并选中所有3个选项。选项必须如下:i)自动连接新USB设备,ii)显示所有USB输入设备,iii)与虚拟机共享蓝牙设备
  7. 按OK。
  8. 你去吧。  它会工作。现在,您可以启动虚拟机。并尝试使用正确的USB电缆连接设备。有时可能会出现未经授权的USB电缆问题。如果你有疑问,你可以在这里问我。

答案 3 :(得分:4)

我在Windows 10计算机上运行Iphone 8+和VMWare macOS High Sierra。

我经历了几十个故障排除帖子,其中没有一个,不包括将VM的USB设置为2.0,这有帮助。通过反复试验,以及相当数量的酒,我已经弄明白了。

解决方案:

按此顺序执行以下操作:

  1. 关闭虚拟机后,请根据您使用的任何一台机器进行设置,并将USB更改为2.0。您可以在分配ram和核心的相同菜单中找到它

  2. 确保您的手机已插上电源并已关闭。

  3. 启动VM,macOS。

  4. 启动mac时启用手机

  5. 打开Xcode

答案 4 :(得分:3)

执行答案中的建议,但请确保您click inside the VM以便在插入手机之前OSX具有焦点。就我而言,我必须这样做才能使它发挥作用。

答案 5 :(得分:2)

我想补充一点。

要在Mac上使用设备,您必须确保它们 连接到它。我不知道在其他版本中如何处理这个问题,但我使用的是VMware Workstation 12 Player

如果你去SET @maxVcoObject = (SELECT Max(p_vco_object) FROM vco_object) SET @maxObject = (SELECT Max(p_object) FROM object) SET @aantalObjecten = (SELECT Count(*) FROM vcontract WHERE p_vcontract NOT IN(SELECT p_vcontract FROM vco_object)) SET @maxObject = @maxObject - @aantalObjecten INSERT INTO vco_object (p_vco_object,p_vcontract,p_object,create_date,create_user,last_date,last_user) SELECT @maxVcoObject + Row_number()OVER(ORDER BY (SELECT NULL)), p_vcontract, @maxObject + Row_number()OVER(ORDER BY (SELECT NULL)), Getdate(), 'MIG', --should be single quotes for string literals Getdate(), 'MIG' FROM vcontract vc INNER JOIN vco_partcp vcp ON vc.p_vcontract = vcp.p_vcontract Where vc.p_vcontract NOT IN (SELECT p_vcontract FROM vco_object) 想要

这就是我必须做的事情。

答案 6 :(得分:1)

这是另一件事(我使用的是Windows 10):

  1. 停止VM。
  2. 打开开始。
  3. 输入“服务”。
  4. 找到VMWare USB仲裁服务并启动它。
  5. 连接您的设备,希望它会被检测到。

这对我有用。我不知道为什么该服务最初没有启动,并且过去可以在我的iPhone 7上正常运行。祝你好运。

答案 7 :(得分:1)

我遇到了同样的问题。我在kb.vmware.com的解决方案中找到了解决方案。
通过添加对我有用

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

详细信息如下:


要添加怪癖:
  1. 关闭虚拟机,然后退出工作站/融合。

    警告:请勿跳过此步骤。
  2. 打开虚拟机捆绑包中的vmware.log文件。有关更多信息,请参阅在VMware Workstation / Fusion中找到虚拟机捆绑包(1007599)。
  3. 在“控制台”窗口顶部的“过滤器”框中,输入设备制造商的名称。

    例如,如果输入名称Apple,则会看到类似于以下内容的行:

    vmx | USB: 找到的设备[名称:Apple \ IR \ Receiver vid:05ac pid:8240路径:13/7/2 速度:全家福:隐藏]



    该行包含USB设备的名称以及其vid和pid信息。记下vid和pid值。

  4. 使用文本编辑器打开.vmx文件。有关更多信息,请参见为您的Workstation / Fusion虚拟机编辑.vmx文件(1014782)。
  5. 将此行添加到.vmx文件中,将vid和pid替换为步骤2中记录的值,每个以数字0和字母x为前缀。

    usb.quirks.device0 =“ 0x vid :0x pid 跳过重置

    例如,对于在步骤2中找到的Apple设备,此行是:

    usb.quirks.device0 =“ 0x05ac:0x8240 跳过重置”

  6. 保存.vmx文件。
  7. 重新打开工作站/融合。修改后的.vmx文件将重新加载。
  8. 启动虚拟机,然后连接设备。
  9. 如果问题没有解决,请按照提供的顺序,用以下任一行替换在步骤4中添加的怪癖行,然后重复步骤5至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"

注释

  • 一次使用这些行之一。如果一个不起作用,请用列表中的另一个替换它。不要一次在.vmx文件中添加多个。
  • 最后一行使用了所有三个怪癖的组合。仅在其他三行不起作用时使用此功能。

请参阅this以查看详细信息。

答案 8 :(得分:0)

我有两台安装了VMWare Workstation和Mac OS Sierra的计算机作为来宾操作系统。第一台机器可以识别我的iOS设备,而我的第二台机器可以识别它。第二台机器表现出与其他机器相同的行为,它将无休止地与iPhone重新连接和断开连接。

值得庆幸的是,我的第二台机器与我的VM存在网络连接问题。所以当我重置VM的网络设置时,我偶然发现了解决方案。

您可以尝试以下步骤,看看它是否适合您。它对我有用。

  1. 转到“开始”菜单。
  2. 打开VMWare文件夹。
  3. 启动VMWare网络编辑器。
  4. 单击“更改设置”按钮以指定管理员权限。
  5. 单击“恢复默认值”按钮。
  6. 打开虚拟机。
  7. 验证Mac OS上的互联网连接。
  8. 连接iOS设备。如果iTunes在Mac上启动,这意味着Mac有 正确识别您的iOS设备。

答案 9 :(得分:0)

如果您在 vmware 上安装 macos 时经历了很多痛苦,我推荐 this tutorial 它还为您提供了您需要的所有文件。这是一个直接的教程,并且一直运行没有任何问题。

答案 10 :(得分:0)

此解决方案适用于 Ubuntu Host、Macos Guest

  1. disable SIP
  2. install mac ports
  3. sudo launchctl 卸载 /Library/Apple/System/Library/LaunchDaemons/com.apple.usbmuxd.plist
  4. sudo 端口安装 usbmuxd
  5. sudo usbmuxd --foreground
  6. 然后连接 iPhone 并让客人控制

禁用 SIP

  1. 启动 vmware
  2. 选择访客并“为固件供电”
  3. 在 efi 菜单中,进入 setup > config boot options > add boot options > select recovery partition > select boot.efi
  4. 在输入文件描述中点击并输入标签,例如“恢复”> 提交更改并退出
  5. 从恢复中启动并耐心等待
  6. 按照提示操作,直到看到 OS X Utilities 菜单
  7. 在最顶部的菜单中选择实用工具 > 终端
  8. 在终端输入“csrutil status”
  9. 然后 csrutil 禁用
  10. 然后是 csrutil 状态
  11. 然后重新启动 > 按 Enter 一次或两次
  12. 仔细检查 OSX 终端应用程序以确保禁用 SIP

最后,禁用 HiDPI:

$ sudo 默认写入 /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool NO

Referenced from: