我现在的环境是:
* Mac M3(Apple Silicon)
* macOS 26
* Parallels Desktop 18
* Linux ARM 虚拟机
* iPhone 通过 USB 连接
表现:
* macOS 仍然能看到 iPhone
* Linux 里只能看到 Camera(PTP 模式)
* `idevice_id -l` 查不到设备
这说明 **usbmuxd 连接没有进入虚拟机**,只转发了相机协议。
------------------------------------------------------------
先确认一个关键点(macOS 26 的变化)
从 macOS 15 以后(包括 macOS 26),苹果加强了 USB 设备的系统占用策略:
* iPhone 插入后会默认被 macOS 的: * Finder * Photos * usbd * usbmuxd 抢占 * 即使 Parallels 选择“连接到虚拟机”,macOS 仍然保留控制权 这和以前版本不一样。
------------------------------------------------------------
🚀 正确解决步骤(实测有效方案)
## 第一步:彻底关闭 macOS 对 iPhone 的占用
在 macOS 终端执行:
sudo killall -STOP usbd
sudo killall -STOP usbmuxd
然后再插一次手机。
⚠️ 如果找不到进程,可以用:
ps aux | grep usb
## 第二步:Parallels 连接设备
Parallels → Devices → USB & Bluetooth 找到你的 iPhone
测试到这里,在linux上查看设备连接情况,已经能查到设备udid了,说明已成功连接设备。
重新插拔一次usb,你能看到手机的图标: