Почему двоичные файлы libimobiledevice для Windows зависят от iTunes?

libimobiledevice претендует на звание кроссплатформенной библиотеки для связи с устройствами iOS. В Linux для работы могут потребоваться другие пакеты, но не требуется никакого программного обеспечения от Apple (которое вряд ли существует для Linux). Однако любая его форма в Windows не работает без iTunes (или, точнее, с помощью драйвера устройства Apple и поддержки приложений Apple, которые вы получаете с iTunes). Если эта библиотека действительно кроссплатформенная, чего не хватает Windows по сравнению с Linux, которая делает невозможной работу без iTunes?

В качестве дополнительного вопроса, я только собираюсь монтировать как основную, так и документную части файловой системы iDevice, поэтому, если есть простой способ, пожалуйста, дайте мне знать.

1 ответ

Решение

libimobiledevice зависит не от iTunes, а от драйвера устройства Apple и службы поддержки приложений Apple, как вы указали.

libimobiledevice имеет эквивалент драйвера устройства Apple и компонентов поддержки приложений Apple в форме библиотеки usbmuxd с открытым исходным кодом.

Тем не менее, usbmuxd использует libusb для взаимодействия с USB-устройствами. libusb имеет очень хорошую поддержку для Linux и macOS, но некоторые функции отсутствуют в Windows. В частности, вы не можете настроить конфигурацию устройства с помощью libusb для устройств Windows, и это необходимо для работы с устройствами iOS.

Есть компании, которые предоставляют поддержку для подключения к устройствам iOS в Windows без какого-либо программного обеспечения Apple на коммерческой основе. Компания, в которой я работаю, Quamotion, одна из них; так что вы можете связаться с нами, если вы хотите узнать больше. Однако в большинстве случаев это дает мало пользы: программное обеспечение Apple стабильно и хорошо протестировано, поэтому для использования сторонней библиотеки для этого нет особых стимулов.

Если вам нужен доступ к частям файловой системы iOS в Windows, вам не нужно беспокоиться об удалении iTunes. Вы можете подключиться к службе AFC, работающей на устройстве iOS, для взаимодействия с файловой системой Apple. libimobiledevice предоставляет API (но не программу командной строки, которую вы можете использовать в Windows); и есть привязки на разных языках программирования для libimobiledevice.

Другие вопросы по тегам