Embora não haja documentação oficial da Apple, você ainda pode obter algumas informações assistindo o iTunes e o iOS fazendo suas coisas. Isso pode ser feito monitorando os arquivos de log de ambos; no iPhone, isso pode ser feito através de uma conexão USB. Aqui está um pouco do que eu já vi o iPhone fazendo nos estágios de sincronização "waiting for xy":
Depois de copiar novas mídias para o iPhone, a mídia precisa ser indexada, por exemplo, existem metadados a serem processados, miniaturas precisam ser criadas etc. Até que isso seja feito, a mídia não pode ser exibida corretamente nos aplicativos correspondentes do iPhone, portanto, o iTunes aguarda o serviço do iPhone Media Indexer para concluir seu trabalho.
Ao copiar novos aplicativos para um iPhone, os .ipa
arquivos compactados precisam descompactar e instalar, por exemplo, registrar-se na tela inicial do iPhone, nas listas de aplicativos, nos bancos de dados de extensão de arquivo etc., isso é feito durante os estágios da sincronização.
A pesquisa de destaque pode precisar de tempo para indexar novos arquivos, o iTunes também espera por isso (nem sempre, mas às vezes!)
Quando o iTunes transfere arquivos para um iPhone, ele sempre verifica o conteúdo do arquivo de várias maneiras, sendo a integridade do arquivo ou os hashes comparados. Esses processos precisam de bastante tempo, dependendo do tamanho dos dados transferidos, e o iTunes aguarda uma verificação bem-sucedida para concluir a sincronização.
Quando há falhas de cópia detectadas por qualquer um dos métodos de verificação, o iTunes copia os arquivos novamente. Geralmente, esses processos não são exibidos pelo iTunes; isso é feito durante o processamento "Aguardando a cópia de itens".
O iTunes também aguardará o término dos processos de cópia com êxito; existem fluxos e soquetes para fechar quando os dados forem transferidos entre computadores. Embora isso deva acontecer instantaneamente, às vezes há falhas e o iPhone precisa de algum tempo.
Em geral, você pode dizer que o iTunes utiliza esses estágios para verificação e correção de erros, além de realizar trabalhos "complementares". Eles são extremamente úteis, especialmente quando se usa a sincronização WiFi, que é muito mais suscetível a erros do que o USB.
Editar : para visualizar os arquivos de log de um iPhone / iPad, não é necessário fazer o jailbreak. A melhor ferramenta provavelmente é libimobiledevice
um pacote de software livre de código aberto licenciado sob LGPL 2.1 . É capaz de lidar com um dispositivo iOS sem a necessidade do iTunes, mesmo em máquinas Linux. Embora tenha sido projetado para máquinas Linux, ele também pode ser executado no Mac, por exemplo, compilando o código-fonte ou, ainda mais fácil, instalando através do homebrew . Embora eu esteja sempre usando-o em máquinas Linux, isso deve funcionar da mesma maneira no Mac OS X.
Você provavelmente precisa emparelhar o seu iPhone primeiro, use o idevicepair
binário para isso. Ele deve encontrar o iPhone conectado por USB por conta própria; caso contrário, tente passar o UUID do seu dispositivo. Após o emparelhamento ter sido bem-sucedido (ele exibirá uma mensagem de sucesso na interface do terminal), use o idevicesyslog
aplicativo -para visualizar os arquivos de log do seu iPhone. Ele se conectará syslog
automaticamente ao soquete do seu dispositivo; caso contrário, você poderá passar o UUID novamente. Todas as mensagens de log serão postadas stdout
no seu computador, por exemplo, na saída do terminal.
Também há software proprietário que permite ler os logs no seu dispositivo iOS, mas libimobiledevice
como uma ferramenta de linha de comando e de código aberto deve ser preferida.
11/15/14 11:30:11.314 AM iTunes[48673]: Failed to create replacement string 11/15/14 11:32:43.222 AM iTunes[48673]: AMDeviceSecureTransferPath (thread 0x115c2b000): disableDelta: FALSE 11/15/14 11:32:43.222 AM iTunes[48673]: AMDeviceSecureTransferPath (thread 0x115c2b000): Trying SZConduit for transfer 11/15/14 11:32:43.507 AM iTunes[48673]: nuke_path (thread 0x115c2b000): AFCRemovePath of 'PublicStaging/DoubleDown 3.5.1.ipa' returned 8