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

Why are Windows binaries of libimobiledevice dependent on iTunes?

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

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

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

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

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

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

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