📋 ios list 显示空列表

← 返回问题清单
症状:go-ios 已安装,但 ios list 的 deviceList 是空的;或提示连接 usbmuxd 失败。
1

原理先行:go-ios 连接的是什么

go-ios 不带 USB 驱动:Windows 上它连接 127.0.0.1:27015(iTunes / Apple 设备 App 提供的 usbmuxd 服务),macOS / Linux 连系统自带 usbmuxd(/var/run/usbmuxd)。列表为空 = 这层服务没在跑或没看到设备。

2

Windows:确认 Apple 服务栈

  • iTunes / Apple 设备 App 已安装且至少打开过一次;
  • services.msc 里「Apple Mobile Device Service」正在运行;
  • 手机已解锁 + 信任(未信任也会列出,但完全未识别时列表为空)。
3

Linux:确认 usbmuxd 运行

$ systemctl status usbmuxd
Active: active (running)
$ sudo apt install usbmuxd # 没装就装
$ idevice_id -l # libimobiledevice 交叉验证

idevice_id 能列出而 ios list 为空 → go-ios 版本问题,升级到最新 release。

4

iOS 17+:先建隧道

# macOS / Linux
$ sudo ios tunnel start
# Windows:先把 wintun.dll 复制到 C:\Windows\system32,再:
$ ios tunnel start

iOS 17 及以上设备必须先跑隧道,否则 list 之外的操作和部分识别会失败。隧道保持运行,另开终端执行 ios list。另外:iOS 17+ 的配对记录需要「可信主机」建立——旧版官网 iTunes 的旧驱动无法配对新系统设备,改用 Microsoft Store 版 iTunes / Apple 设备 App。

5

列表里有 connType":"wifi 条目但不稳定?

ios list 会把曾经配对过的网络设备也列出来,connType 为 wifi 的条目可能早已离线,且 tunnel / 安装等操作对 wifi 设备不可靠。排查时插上 USB 线,认准 connType 为 usb 的条目,或用 ios list --details 核对。

6

信任过期 / 配对记录失效

系统大版本更新后信任可能被重置:手机上重新插拔 → 点信任 → ios pair 重新配对。pair 失败常见原因:设备锁屏、未点信任、USB 受限模式生效、主机配对记录不匹配(删 ~/.go-ios 或重装工具重置)。

7

升级 go-ios / 交叉验证

$ ios version
$ npm update -g go-ios

旧版对新款 iPhone / 新 iOS 支持不全;升级后仍为空 → 用 idevice_id -l(Linux/mac)或 iTunes(Win)交叉验证,判断是 go-ios 问题还是驱动问题。

其他问题快速跳转