Хотя у Apple нет официальной документации, вы все же можете получить некоторую информацию, наблюдая за тем, как iTunes и iOS делают свое дело. Это можно сделать путем мониторинга файлов журналов обоих, на iPhone это можно сделать через USB-соединение. Вот несколько примеров того, что iPhone уже делал на этапах синхронизации «в ожидании xy»:
После копирования новых носителей на iPhone они должны быть проиндексированы, например, есть метаданные, которые нужно обработать, миниатюры должны быть созданы и т. д. Пока это не сделано, мультимедиа не может правильно отображаться в соответствующих приложениях iPhone, поэтому iTunes ожидает, пока служба индексатора медиафайлов iPhone завершит свою работу.
При копировании новых приложений на iPhone упакованные .ipa
-файлы нужно распаковать и установить, например зарегистрируйтесь на домашнем экране iPhone, в списках приложений, базах расширений файлов и т. д., это делается на этих этапах синхронизации.
Для поиска в центре внимания может потребоваться время для индексации новых файлов, iTunes также ждет этого (не всегда, но иногда!)
Когда iTunes передает файлы на iPhone, он всегда проверяет содержимое файла несколькими способами, будь то архивная целостность или сравниваемые хэши. Эти процессы требуют много времени, в зависимости от размера передаваемых данных, и iTunes ожидает успешной проверки для завершения синхронизации.
При обнаружении ошибок копирования одним из методов проверки iTunes снова скопирует файлы. Часто эти процессы не отображаются iTunes, это происходит во время обработки «Ожидание копирования элементов».
iTunes также будет ожидать успешного завершения процессов копирования, есть потоки и сокеты для закрытия при передаче данных между компьютерами. Хотя это должно происходить мгновенно, иногда случаются сбои, и iPhone требуется некоторое время.
В общем, вы можете сказать, что iTunes использует эти этапы для проверки и исправления ошибок, а также для выполнения «полной» работы. Они становятся чрезвычайно полезными, особенно при использовании синхронизации по WiFi, которая гораздо более подвержена ошибкам, чем USB.
редактировать : Для просмотра файлов журнала iPhone / iPad джейлбрейк не требуется. Лучший инструмент, вероятно, libimobiledevice
пакет бесплатного программного обеспечения с открытым исходным кодом LGPL 2.1 , Он способен обрабатывать устройства iOS без необходимости iTunes, даже на машинах с Linux. Несмотря на то, что он предназначен для компьютеров с Linux, он также может работать на Mac, например, составив исходный код или, что еще проще, путем установки через доморощенного , Хотя я всегда использую его на компьютерах с Linux, в Mac OS X это должно работать одинаково.
Вам, вероятно, нужно сначала подключить ваш iPhone, используйте idevicepair
-бинарный для этого. Он должен найти ваш подключенный к USB iPhone самостоятельно, если нет, вы можете попробовать передать UUID вашего устройства. После успешного сопряжения (на вашем терминальном интерфейсе отобразится сообщение об успешном завершении), используйте idevicesyslog
-приложение для просмотра файлов журнала вашего iPhone. Он подключится к syslog
-разъем вашего устройства автоматически, если это не так, вы можете снова передать UUID. Тогда все сообщения журнала будут опубликованы на stdout
на вашем компьютере, например на выход вашего терминала.
Существует также проприетарное программное обеспечение, которое позволяет вам читать журналы на вашем устройстве iOS, но libimobiledevice
в качестве командной строки - и инструмент с открытым исходным кодом должен быть предпочтительным.
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