Une bibliothèque pour communiquer avec les services sur les appareils iOS utilisant des protocoles natifs.
Libimobilevice est une bibliothèque de logiciels multiplateformes qui parle des protocoles pour interagir avec les appareils iOS.
Contrairement à d'autres projets, il ne dépend pas de l'utilisation de bibliothèques propriétaires existantes et ne nécessite pas de jailbreak.
Certaines fonctionnalités clés sont:
Les interfaces implémentées de nombreux protocoles de service de périphérique permettent aux applications de:
... et bien plus encore.
La bibliothèque est en développement depuis août 2007 dans le but d'apporter un support pour ces appareils au bureau Linux.
Installez d'abord toutes les dépendances et les outils de construction requis:
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 Remarque: libtatsu (et donc libtatsu-dev ) est une nouvelle bibliothèque qui vient d'être publiée récemment, vous devez la construire à partir de la source.
Si vous souhaitez éventuellement créer la documentation ou les liaisons Python Utiliser:
sudo apt-get install
doxygen
cythonPuis clonez le référentiel de projet réel:
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledeviceVous pouvez maintenant le construire et l'installer:
./autogen.sh
make
sudo make install Si vous avez besoin d'un préfixe personnalisé ou d'une autre option transmise à ./configure , vous pouvez les transmettre directement à ./autogen.sh comme ceci:
./autogen.sh --prefix=/opt/local --enable-debug
make
sudo make install Par défaut, OpenSSL sera utilisé comme bibliothèque TLS / SSL. Si vous préférez gnutls, configurez avec --with-gnutls comme ceci:
./autogen.sh --with-gnutls MBEDTLS est également pris en charge et peut être activé en passant --with-mbedtls à configurer. Si MbedTLS n'est pas installé dans un emplacement par défaut, vous devez définir les variables d'environnement mbedtls_INCLUDES sur le chemin qui contient les en-têtes mbedtls et mbedtls_LIBDIR pour définir le chemin de la bibliothèque. Facultativement, mbedtls_LIBS peuvent être utilisés pour définir directement les noms de la bibliothèque. Exemple:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/libLa documentation sur l'utilisation de la bibliothèque dans votre application n'est pas encore disponible. La "voie du pirate" pour l'instant consiste à examiner la mise en œuvre des utilitaires inclus.
La bibliothèque regroupe les utilitaires de ligne de commande suivants dans le répertoire des outils:
| Utilitaire | Description |
|---|---|
idevice_id | Liste des périphériques joints ou du nom de périphérique d'impression du périphérique donné |
idevicebackup | Créer ou restaurer la sauvegarde pour les appareils (héritage) |
idevicebackup2 | Créer ou restaurer des sauvegardes pour les appareils exécutant iOS 4 ou version ultérieure |
idevicebtlogger | Capturez le trafic Bluetooth HCI à partir d'un appareil (nécessite un profil de journal) |
idevicecrashreport | Récupérer les rapports de crash à partir d'un appareil |
idevicedate | Afficher la date actuelle ou le définir sur un appareil |
idevicedebug | Interagir avec le service de débogage d'un appareil |
idevicedebugserverproxy | Proxy une connexion de débogage à partir d'un appareil pour le débogage à distance |
idevicediagnostics | Interagir avec l'interface de diagnostic d'un appareil |
ideviceenterrecovery | Faire entrer un appareil dans le mode de récupération |
ideviceimagemounter | Monter des images de disque sur l'appareil |
ideviceinfo | Afficher les informations sur un appareil connecté |
idevicename | Afficher ou définir le nom de l'appareil |
idevicenotificationproxy | Publier ou observer les notifications sur un appareil |
idevicepair | Gérer les paires hôtes avec des appareils et USBMuxd |
ideviceprovision | Gérer les profils d'approvisionnement sur un appareil |
idevicescreenshot | Obtient un squens de l'appareil connecté |
idevicesetlocation | Simuler l'emplacement sur l'appareil |
idevicesyslog | Relais syslog d'un appareil connecté |
afcclient | Interagissez avec le système de fichiers de l'appareil via AFC / HouseArrest |
Veuillez consulter les informations d'utilisation ou les pages manuelles de chaque utilitaire pour une documentation des options de ligne de commande disponibles et des exemples d'utilisation comme celui-ci:
ideviceinfo --help
man ideviceinfoNous accueillons les contributions de quiconque et sommes reconnaissants pour chaque demande de traction!
Si vous souhaitez contribuer, veuillez débarquer la branche master , modifier, commettre et envoyer une demande de révision. Une fois approuvé, il peut être fusionné dans la base de code principale.
Si vous prévoyez de contribuer des changements plus importants ou un refactorisation majeure, veuillez d'abord créer un billet pour discuter de l'idée d'avance pour assurer moins d'efforts pour tout le monde.
Veuillez vous assurer que votre contribution adhère à:
Nous travaillons toujours sur les directives, alors gardez avec nous!
Cette bibliothèque et les services publics sont sous licence en vertu de la licence publique générale de GNU Leser V2.1, également incluse dans le référentiel dans le fichier COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, Watchos et MacOS sont des marques d'Apple Inc.
Ce projet est un logiciel indépendant et n'a pas été autorisé, parrainé ou autrement approuvé par Apple Inc.
Readme mis à jour le: 2024-10-22