如果您曾经对iTunes和Xcode与设备的通信方式以及对诸如libimobiledevice之类的非Apple代码如何能够控制它们感兴趣 ,那么您可以通过一些个人研究来掌握有关此问题的知识。 usbmux usbmux是此事的第一位参与者,让我们看看iphonewiki.com对此有何评论: Usbmux – iPhone Wiki 在正常运行期间,iTunes使用称为“ usbmux”的东西与iPhone通信–这是一个用于…的系统 www.theiphonewiki.com 在正常操作期间,iTunes使用称为“ usbmux”的东西与iPhone通信-这是一个用于通过一个USB管道多路复用多个“连接”的系统。 从概念上讲,它提供了一个类似TCP的系统-主机上的进程打开了与移动设备上特定编号端口的连接。 苹果已经为主机应用程序构建了一个“ usb复用器”,以便与iDevices进行通信。 显然,Apple已经为自己的应用程序开发了它,而不是为社区开发的。 Apple在OSX和Windows中提供usbmux以支持iTunes。 有一个开源项目可复制Mac / Linux / Windows的usbmux ,称为usbmuxd 。 iphonewiki.com提供有关原始usbmux程序在Mac平台中的位置以及如何启动的信息: 在Mac上,此操作由/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd(启动时启动的守护程序)处理(请参阅/System/Library/LaunchDaemons/com.apple.usbmuxd.plist) 我们可以确认usbmuxd和守护进程plist在OS X 10.13.6中仍然存在: usbmux守护程序plist的内容为: 请注意plist中有关Unix套接字的有趣信息。 usbmuxd守护程序在/ var / run / usbmuxd处打开Unix套接字。 更确切地说,它是进程间通信文件描述符,用于进程与iPhone连接和通信。 usbmuxd ..在/ var / run / usbmuxd创建一个侦听UNIX域套接字。 usbmuxd然后通过USB监视iPhone连接; 当它检测到以正常模式(而非恢复模式)运行的iPhone时,它将连接到它,然后开始中继通过/ var / run / usbmuxd接收到的请求-也就是说,usbmuxd是唯一实际通过USB与iPhone通话。 这意味着希望与iPhone通话的第三方应用程序必须通过usbmuxd进行通信,或者必须替换usbmuxd。 换句话说,iTunes和Xcode通过/ […]