Что на самом деле происходит во время «Ожидания внесения изменений» и «Ожидания копирования элементов»?

17

Буквально сотни потоков на десятках различных интернет-форумов об устройствах iOS застряли на «Ожидание внесения изменений» и / или «Ожидание копирования элементов» во время синхронизации. У меня была эта проблема с перерывами в течение двух лет на iOS 6, 7, а теперь и на 8, и, честно говоря, после того, как я попробовал все исправления, о которых я читал, я разочаровался в попытках ее решить. Вопрос не в этом. То, что я хочу знать, это:

какой должно случиться на этих этапах синхронизации?

Эти два сообщения означают одно и то же или что-то другое? Что такое iTunes пытаясь сделать? Это чтение из внутренней базы данных на устройстве и сравнение с библиотекой iTunes на компьютере? Это пишу в библиотеку устройства? Что это пишет? Над каким файлом он работает? Есть ли способ наблюдать за происходящим мероприятием, либо в реальном времени, либо по факту?

mweiss
источник
Я также хотел бы знать ответ, поскольку у меня есть эта проблема все время. Вот некоторые консольные сообщения, которые я получаю на случай, если они кому-нибудь помогут: 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
BringMyCakeBack
11/15/14 11:40:50.527 AM iTunes[48673]: Entered:_AMMuxedDeviceDisconnected, mux-device:1815 11/15/14 11:40:50.527 AM iTunes[48673]: Entered:__thr_AMMuxedDeviceDisconnected, mux-device:1815 11/15/14 11:40:50.527 AM iTunes[48673]: tid:144f - Mux ID not found in mapping dictionary 11/15/14 11:40:50.527 AM iTunes[48673]: tid:144f - Can't handle disconnect with invalid ecid
BringMyCakeBack
Потенциально полезная статья 2014-12-29 на эту тему: macworld.com/article/2861406/... И о, да, я испытываю те же самые симптомы, продолжающиеся годами. Вздох.
Johnny Utahh
@JohnnyUtahh Я видел эту статью и комментировал ее более двух месяцев назад (прокрутите вниз в комментариях).
mweiss
Спасибо @ mweiss, полезно. Отдельно: я предлагаю, чтобы мы все вместе написали краткое, «открытое» письмо Apple (с очевидным намерением исправить синхронизацию iTunes + iOS). Затем каждый из нас пытается найти значимого представителя Apple, которого мы знаем - чем выше в диаграмме организации Apple, тем лучше - и лично доставить точно такую ​​же копию письма. Возможно также отправить через apple.com - системы "онлайн обратной связи". (Продолжение ...)
Johnny Utahh

Ответы:

5

Хотя у 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 в качестве командной строки - и инструмент с открытым исходным кодом должен быть предпочтительным.

LukeLR
источник
Не могли бы вы предоставить более подробную информацию о том, как контролировать файлы журнала?
mweiss
@mweiss Я обновил свой пост, чтобы включить информацию об этом;)
LukeLR
-1

Я думаю, что в процессе «Ожидание копирования элемента» iTunes сканирует элементы, подлежащие копированию, подсчитывает элементы и рассчитывает предполагаемое время копирования. Сколько бы файлов не было скопировано, время ожидания увеличивается.

Harshil
источник
У меня сложилось впечатление, что вы описываете то, что происходит в процессе «Подготовка к копированию». Есть ли у вас доказательства того, что это происходит во время «Ожидания копирования элементов»?
mweiss