Uma biblioteca para se comunicar com serviços em dispositivos iOS usando protocolos nativos.
O Libimobilevice é uma biblioteca de software de plataforma cruzada que fala sobre os protocolos para interagir com os dispositivos iOS.
Ao contrário de outros projetos, não depende do uso de bibliotecas proprietárias existentes e não requer jailbreak.
Alguns recursos importantes são:
As interfaces implementadas de muitos protocolos de serviço de dispositivos permitem que os aplicativos:
... e muito mais.
A biblioteca está em desenvolvimento desde agosto de 2007, com a meta de trazer suporte para esses dispositivos para a área de trabalho do Linux.
Primeiro instale todas as dependências necessárias e ferramentas de construção:
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 (e, portanto, libtatsu-dev ) é uma nova biblioteca que acabou de ser publicada recentemente, você deve construí-lo a partir da fonte.
Se você deseja criar opcionalmente a documentação ou o uso de ligações python:
sudo apt-get install
doxygen
cythonEm seguida, clone o repositório real do projeto:
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledeviceAgora você pode construí -lo e instalá -lo:
./autogen.sh
make
sudo make install Se você precisar de um prefixo personalizado ou outra opção sendo passada para ./configure , poderá passá -lo diretamente para ./autogen.sh como este:
./autogen.sh --prefix=/opt/local --enable-debug
make
sudo make install Por padrão, o OpenSSL será usado como biblioteca TLS/SSL. Se você preferir GNUTLS, configure com --with-gnutls como este:
./autogen.sh --with-gnutls O MBEDTLS também é suportado e pode ser ativado pela passagem --with-mbedtls para configurar. Se o mbedTLS não estiver instalado em um local padrão, você precisará definir as variáveis de ambiente mbedtls_INCLUDES no caminho que contém os cabeçalhos mbedtls e mbedtls_LIBDIR para definir o caminho da biblioteca. Opcionalmente, mbedtls_LIBS pode ser usado para definir os nomes da biblioteca diretamente. Exemplo:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/libA documentação sobre o uso da biblioteca em seu aplicativo ainda não está disponível. O "Hacker Way" por enquanto é analisar a implementação dos utilitários incluídos.
A biblioteca agrupa os seguintes utilitários da linha de comando no diretório das ferramentas:
| Utilidade | Descrição |
|---|---|
idevice_id | Listar dispositivos anexados ou nome de dispositivo de impressão do determinado dispositivo |
idevicebackup | Criar ou restaurar backup para dispositivos (legado) |
idevicebackup2 | Crie ou restaure backups para dispositivos executando o iOS 4 ou mais tarde |
idevicebtlogger | Capture Bluetooth HCI Tráfego de um dispositivo (requer perfil de log) |
idevicecrashreport | Recuperar relatórios de falha de um dispositivo |
idevicedate | Exiba a data atual ou defina -a em um dispositivo |
idevicedebug | Interagir com o serviço DebugServer de um dispositivo |
idevicedebugserverproxy | Proxy Uma conexão de depuração de um dispositivo para depuração remota |
idevicediagnostics | Interagir com a interface de diagnóstico de um dispositivo |
ideviceenterrecovery | Faça um dispositivo entrar no modo de recuperação |
ideviceimagemounter | Montar imagens de disco no dispositivo |
ideviceinfo | Mostre informações sobre um dispositivo conectado |
idevicename | Exibir ou definir o nome do dispositivo |
idevicenotificationproxy | Postar ou observar notificações em um dispositivo |
idevicepair | Gerenciar pares de host com dispositivos e USBMuxd |
ideviceprovision | Gerenciar perfis de provisionamento em um dispositivo |
idevicescreenshot | Obtém uma captura de tela do dispositivo conectado |
idevicesetlocation | Simule a localização no dispositivo |
idevicesyslog | Revezamento syslog de um dispositivo conectado |
afcclient | Interagir com o sistema de arquivos de dispositivo via AFC/Housearrest |
Consulte as informações de uso ou páginas manuais de cada utilidade para uma documentação das opções de linha de comando disponíveis e exemplos de uso como este:
ideviceinfo --help
man ideviceinfoCongratulamo -nos com contribuições de qualquer pessoa e agradecemos todas as solicitações de tração!
Se você quiser contribuir, bifurque a filial master , altere, comprometa e envie uma solicitação de revisão. Uma vez aprovado, ele pode ser mesclado na base de código principal.
Se você planeja contribuir com alterações maiores ou uma grande refatoração, crie um ingresso primeiro para discutir a idéia adiantada para garantir menos esforço para todos.
Por favor, verifique se sua contribuição adere a:
Ainda estamos trabalhando nas diretrizes, então fique conosco!
Esta biblioteca e utilitários são licenciados sob a Licença Pública Geral GNU menor v2.1, também incluída no repositório no arquivo COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TvOS, WatchOS e MacOS são marcas comerciais da Apple Inc.
Este projeto é um software independente e não foi autorizado, patrocinado ou aprovado pela Apple Inc.
Readme atualizado em: 2024-10-22