Una biblioteca para comunicarse con los servicios en dispositivos iOS utilizando protocolos nativos.
LibimObileDevice es una biblioteca de software multiplataforma que habla de los protocolos para interactuar con los dispositivos iOS.
A diferencia de otros proyectos, no depende del uso de bibliotecas propietarias existentes y no requiere jailbreaking.
Algunas características clave son:
Las interfaces implementadas de muchos protocolos de servicio de dispositivos permiten que las aplicaciones:
... y mucho más.
La biblioteca está en desarrollo desde agosto de 2007 con el objetivo de aportar soporte para estos dispositivos al escritorio de Linux.
Primero instale todas las dependencias requeridas y las herramientas de compilación:
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 Nota: Libtatsu (y, por lo tanto, libtatsu-dev ) es una nueva biblioteca que se acaba de publicar recientemente, debes construirla desde la fuente.
Si desea construir opcionalmente la documentación o el uso de enlaces de Python:
sudo apt-get install
doxygen
cythonLuego clone el repositorio real del proyecto:
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledeviceAhora puede construirlo e instalarlo:
./autogen.sh
make
sudo make install Si necesita un prefijo personalizado u otra opción que ./autogen.sh pase ./configure
./autogen.sh --prefix=/opt/local --enable-debug
make
sudo make install Por defecto, OpenSSL se utilizará como biblioteca TLS/SSL. Si prefiere Gnutls, configure con --with-gnutls como este:
./autogen.sh --with-gnutls MBedTLS también es compatible y se puede habilitar pasando --with-mbedtls para configurar. Si MBedTLS no está instalado en una ubicación predeterminada, debe establecer las variables de entorno mbedtls_INCLUDES en la ruta que contiene los encabezados mBedtls y mbedtls_LIBDIR para configurar la ruta de la biblioteca. Opcionalmente, se puede usar mbedtls_LIBS para establecer los nombres de la biblioteca directamente. Ejemplo:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/libLa documentación sobre el uso de la biblioteca en su aplicación aún no está disponible. El "Hacker Way" por ahora es analizar la implementación de las utilidades incluidas.
La biblioteca agrupa las siguientes utilidades de línea de comandos en el directorio de herramientas:
| Utilidad | Descripción |
|---|---|
idevice_id | Lista de dispositivos adjuntos o el nombre del dispositivo de impresión del dispositivo dado |
idevicebackup | Crear o restaurar la copia de seguridad para dispositivos (Legacy) |
idevicebackup2 | Crear o restaurar copias de seguridad para dispositivos que ejecutan iOS 4 o posteriores |
idevicebtlogger | Capture el tráfico Bluetooth HCI desde un dispositivo (requiere perfil de registro) |
idevicecrashreport | Recuperar informes de bloqueo de un dispositivo |
idevicedate | Muestre la fecha actual o configela en un dispositivo |
idevicedebug | Interactuar con el servicio de servidor de depuración de un dispositivo |
idevicedebugserverproxy | Proxy una conexión de servidor de debugs desde un dispositivo para depuración remota |
idevicediagnostics | Interactuar con la interfaz de diagnóstico de un dispositivo |
ideviceenterrecovery | Hacer que un dispositivo ingrese el modo de recuperación |
ideviceimagemounter | Monte las imágenes de disco en el dispositivo |
ideviceinfo | Mostrar información sobre un dispositivo conectado |
idevicename | Mostrar o configurar el nombre del dispositivo |
idevicenotificationproxy | Publicar u observar notificaciones en un dispositivo |
idevicepair | Administre emparejamientos de host con dispositivos y usbmuxd |
ideviceprovision | Administrar perfiles de aprovisionamiento en un dispositivo |
idevicescreenshot | Obtiene una captura de pantalla del dispositivo conectado |
idevicesetlocation | Simular la ubicación en el dispositivo |
idevicesyslog | Relé Syslog de un dispositivo conectado |
afcclient | Interactuar con el sistema de archivos de dispositivos a través de AFC/Housearrest |
Consulte la información de uso o las páginas manuales de cada utilidad para una documentación de las opciones de línea de comandos y ejemplos de uso disponibles como este:
ideviceinfo --help
man ideviceinfo¡Damos la bienvenida a las contribuciones de cualquier persona y estamos agradecidos por cada solicitud de atracción!
Si desea contribuir, bifurca la rama master , cambie, comete y envíe una solicitud de extracción de revisión. Una vez aprobado, se puede fusionar en la base del código principal.
Si planea contribuir con cambios más grandes o una refactorización importante, cree un boleto primero para discutir la idea por adelantado para garantizar menos esfuerzo para todos.
Asegúrese de que su contribución se adhiera a:
Todavía estamos trabajando en las pautas, ¡así que tengan con nosotros!
Esta biblioteca y utilidades tienen licencia bajo la Licencia Pública General General de GNU V2.1, también incluida en el repositorio en el archivo COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, tvos, watchos y macOS son marcas comerciales de Apple Inc.
Este proyecto es un software independiente y no ha sido autorizado, patrocinado o aprobado por Apple Inc.
Readme actualizado en: 2024-10-22