Библиотека для связи с услугами на устройствах iOS с использованием собственных протоколов.
LibimobileDevice-это кроссплатформенная библиотека программного обеспечения, которая рассказывает о протоколах для взаимодействия с устройствами iOS.
В отличие от других проектов, он не зависит от использования каких -либо существующих проприетарных библиотек и не требует джейлбрейка.
Некоторые ключевые функции:
Реализованные интерфейсы многих протоколов обслуживания устройств позволяют приложениям:
... и многое другое.
Библиотека находится в разработке с августа 2007 года с целью обеспечить поддержку этих устройств на рабочий стол Linux.
Сначала установите все необходимые зависимости и инструменты сборки:
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libplist-dev
libusbmuxd-dev
libimobiledevice-glue-dev
libtatsu-dev
libssl-dev
usbmuxd Примечание: Libtatsu (и, следовательно, libtatsu-dev )-это новая библиотека, которая была только что опубликована недавно, вы должны построить ее из источника.
Если вы хотите при желании создать документацию или привязки Python.
sudo apt-get install
doxygen
cythonЗатем клонируйте фактический репозиторий проекта:
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledeviceТеперь вы можете построить и установить его:
./autogen.sh
make
sudo make install Если вам требуется пользовательский префикс или другой вариант, передаваемый в ./configure , вы можете передать их непосредственно ./autogen.sh
./autogen.sh --prefix=/opt/local --enable-debug
make
sudo make install По умолчанию OpenSSL будет использоваться в качестве библиотеки TLS/SSL. Если вы предпочитаете gnutls, настройте с --with-gnutls
./autogen.sh --with-gnutls Mbedtls также поддерживается и может быть включен путем прохождения --with-mbedtls для настройки. Если Mbedtls не установлен в месте по умолчанию, вам необходимо установить переменные среды mbedtls_INCLUDES на путь, который содержит заголовки mbedtls и mbedtls_LIBDIR чтобы установить путь библиотеки. Необязательно, mbedtls_LIBS можно использовать для непосредственного установления имен библиотеки. Пример:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/libДокументация об использовании библиотеки в вашем приложении еще недоступна. На данный момент «хакерный путь» состоит в том, чтобы взглянуть на реализацию включенных утилит.
Библиотека объединяет следующие утилиты командной строки в каталоге инструментов:
| Утилита | Описание |
|---|---|
idevice_id | Список прикрепленных устройств или название устройства печати заданного устройства |
idevicebackup | Создать или восстановить резервную копию для устройств (наследие) |
idevicebackup2 | Создать или восстановить резервные копии для устройств, работающих на iOS 4 или более поздней версии |
idevicebtlogger | Захватить трафик Bluetooth HCI с устройства (требуется профиль журнала) |
idevicecrashreport | Получить отчеты о сбое с устройства |
idevicedate | Отобразить текущую дату или установить ее на устройство |
idevicedebug | Взаимодействуйте с службой отладчика устройства |
idevicedebugserverproxy | Прокси -подключение DebugServer с устройства для удаленной отладки |
idevicediagnostics | Взаимодействуйте с диагностическим интерфейсом устройства |
ideviceenterrecovery | Сделайте устройство введите режим восстановления |
ideviceimagemounter | Монтируйте изображения диска на устройстве |
ideviceinfo | Показать информацию о подключенном устройстве |
idevicename | Отображать или установить имя устройства |
idevicenotificationproxy | Post or observe notifications on a device |
idevicepair | Управление пары хостов с устройствами и USBMuxd |
ideviceprovision | Управлять профилями подготовки на устройстве |
idevicescreenshot | Получает скриншот с подключенного устройства |
idevicesetlocation | Имитировать местоположение на устройстве |
idevicesyslog | Реле Syslog подключенного устройства |
afcclient | Взаимодействуйте с файловой системой устройства через AFC/HOUSEARREST |
Пожалуйста, проконсультируйтесь с информацией об использовании или ручных страницах каждой утилиты для документации доступных вариантов командной строки и примеров использования, таких как:
ideviceinfo --help
man ideviceinfoМы приветствуем взносы от всех и благодарны за каждый запрос на привлечение!
Если вы хотите внести свой вклад, пожалуйста, разделите master филиал, измените, совершайте и отправьте запрос на просмотр. После одобрения он может быть объединен в основную кодовую базу.
Если вы планируете внести вклад в большие изменения или крупный рефакторинг, сначала создайте билет, чтобы обсудить эту идею заранее, чтобы обеспечить меньше усилий для всех.
Пожалуйста, убедитесь, что ваш вклад придерживается:
Мы все еще работаем над рекомендациями, так что терпите нас!
Эта библиотека и утилиты лицензированы в рамках GNU Lesser General Public Public License v2.1, также включенной в хранилище в файле COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, WatchOS и MacOS являются товарными знаками Apple Inc.
Этот проект является независимым программным обеспечением и не был авторизован, спонсируется или не одобрен Apple Inc.
Readme обновлена: 2024-10-22