为什么 libimobiledevice 的 Windows 二进制文件依赖于 iTunes?

use*_*759 2 ios libimobiledevice

libimobiledevice 声称是一个用于与 iOS 设备通信的跨平台库。在 Linux 上,它可能需要一些其他包才能工作,但它不需要来自 Apple 的任何软件(Linux 几乎不存在)。但是,如果没有 iTunes(或者,更具体地说,您通过 iTunes 获得的 Apple 设备驱动程序和 Apple 应用程序支持),Windows 上的任何形式都无法运行。如果这个库真的是跨平台的,那么与 Linux 相比,Windows 缺少什么使得没有 iTunes 就无法运行?

作为一个附带问题,我只想挂载 iDevice 文件系统的主要部分和文档部分,所以如果有简单的方法请告诉我。

Fre*_*ier 5

libimobiledevice 不依赖于 iTunes,而是依赖于您指出的 Apple 设备驱动程序和 Apple 应用程序支持服务。

libimobiledevice 具有与 Apple 设备驱动程序和 Apple 应用程序支持组件等效的开源 usbmuxd 库形式。

但是,usbmuxd 使用 libusb 与 USB 设备交互。libusb 对 Linux 和 macOS 有很好的支持,但在 Windows 上缺少一些功能。特别是,您不能使用 libusb 为 Windows 设备设置设备配置,并且需要使用 iOS 设备。

有些公司确实在商业基础上提供支持连接到 Windows 上的 iOS 设备,而无需任何 Apple 软件。我工作的公司 Quamotion 就是其中之一;如果您想了解更多信息,请与我们联系。然而,在大多数情况下,这样做并没有什么好处:Apple 软件稳定且经过良好测试,因此使用 3rd 方库几乎没有动力。

如果您正在寻找的是在 Windows 上访问部分 iOS 文件系统,则无需担心删除 iTunes。您可以连接到运行在 iOS 设备上的 AFC 服务与 Apple 文件系统进行交互。libimobiledevice 提供了一个 API(虽然不是可以在 Windows 上使用的命令行程序);libimobiledevice 有各种编程语言的绑定。