Aunque no hay documentación oficial de Apple, aún puede obtener información viendo iTunes e iOS haciendo sus cosas. Esto se puede hacer monitoreando los archivos de registro de ambos, en el iPhone esto se puede hacer a través de una conexión USB. Aquí hay un par de lo que ya he visto hacer en el iPhone en las etapas de sincronización "esperando xy":
Después de copiar nuevos medios al iPhone, los medios deben indexarse, por ejemplo, hay metadatos para procesar, se deben crear miniaturas, etc. Hasta que se haga eso, los medios no se pueden mostrar correctamente en las aplicaciones de iPhone correspondientes, por lo que iTunes espera a que el servicio iPhone Media Indexer complete su trabajo.
Al copiar nuevas aplicaciones a un iPhone, los .ipa
archivos empaquetados deben descomprimirse e instalarse, por ejemplo, registrarse en la pantalla de inicio del iPhone, listas de aplicaciones, bases de datos de extensión de archivo, etc., esto se hace durante esas etapas de sincronización.
La búsqueda destacada puede necesitar tiempo para indexar nuevos archivos, iTunes también espera esto (¡no siempre, pero a veces!)
Cuando iTunes transfiere archivos a un iPhone, siempre verifica el contenido del archivo de varias maneras, ya sea la integridad del archivo o los hash que se comparan. Estos procesos necesitan mucho tiempo, dependiendo del tamaño de los datos transferidos, e iTunes espera una verificación exitosa para completar la sincronización.
Cuando se detectan fallas de copia por cualquiera de los métodos de verificación, iTunes copiará los archivos nuevamente. A menudo, iTunes no muestra estos procesos, sino que se realiza durante el proceso "Esperando a que se copien los elementos".
iTunes también esperará a que los procesos de copia finalicen con éxito, hay flujos y sockets que se cerrarán cuando se transfieran datos entre computadoras. Aunque esto debería suceder instantáneamente, a veces hay fallas y el iPhone necesita algo de tiempo.
En general, puede decir que iTunes utiliza estas etapas para la verificación y corrección de errores, así como para hacer un trabajo "complementario". Se vuelven extremadamente útiles, especialmente cuando se usa la sincronización WiFi, que es mucho más propensa a errores que el USB.
Editar : para ver los archivos de registro de un iPhone / iPad, no se requiere jailbreak. Probablemente libimobiledevice
, la mejor herramienta es un paquete de software gratuito de código abierto con licencia LGPL 2.1 . Es capaz de manejar un dispositivo iOS sin la necesidad de iTunes, incluso en máquinas Linux. Aunque está diseñado para máquinas Linux, también se puede ejecutar en Mac, por ejemplo, compilando el código fuente o, aún más fácil, instalando a través de homebrew . Aunque siempre lo estoy usando en máquinas Linux, esto debería funcionar de la misma manera en Mac OS X.
Probablemente necesite emparejar su iPhone primero, use el idevicepair
binario para esto. Debería encontrar su iPhone conectado por USB solo, si no lo hace, puede intentar pasar el UUID de su dispositivo. Después de que el emparejamiento se haya realizado correctamente (mostrará un mensaje de éxito en la interfaz de su terminal), use la aplicación idevicesyslog
para ver los archivos de registro de su iPhone. Se conectará al syslog
enchufe de su dispositivo automáticamente, si no lo hace, puede pasar el UUID nuevamente. Luego, todos los mensajes de registro se publicarán stdout
en su computadora, por ejemplo, en la salida de su terminal.
También hay un software patentado que le permite leer los registros en su dispositivo iOS, pero libimobiledevice
como una línea de comando y una herramienta de código abierto debería preferirse.
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