Що насправді відбувається під час "Очікування змін, які слід застосувати" та "Очікування копіювання елементів"?


17

На десятках різних інтернет-форумів про пристрої iOS існує буквально сотні ниток, які застрягають під час синхронізації "Очікування застосування змін" та / або "Очікування копіювання елементів". У мене ця проблема періодично виникала протягом двох років, на iOS 6, 7 і зараз 8, і, відверто кажучи, випробувавши всі виправлення, про які я читав, я відмовився від спроби її вирішити. Це не таке питання. Що я хочу знати:

Що має відбуватися на цих етапах синхронізації?

Чи означають ці два повідомлення одне й те саме або щось інше? Що намагається зробити iTunes ? Читання це з внутрішньої бази даних на пристрої та порівняння її з бібліотекою iTunes на комп'ютері? Це запис у бібліотеку пристроїв? Що це пише? Над яким файлом він працює? Чи є спосіб спостерігати за активністю, яка проводиться, або в режимі реального часу, або після факту?


Я також хотів би знати відповідь, оскільки у мене ця проблема постійно. Ось кілька консольних повідомлень, які я отримую, якщо вони комусь допоможуть: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/… І о так, у мене є ці самі симптоми, які тривають уже роки. Зітхнути.
Джонні Юта

@JohnnyUtahh Я побачив цю статтю - і я прокоментував її там більше двох місяців тому (прокручуй вниз у коментарях).
mweiss

Дякую @mweiss, корисно. Окремо: я пропоную колективно скласти стислий "відкритий" лист Apple (з очевидним наміром виправити синхронізацію iTunes + iOS). Тоді ми намагаємось знайти значного представника Apple, якого ми знаємо - чим вище в офіційній таблиці Apple, тим краще - і особисто доставити ту саму копію листа. Можливо, також надішліть також через систему apple.com- "онлайн-відгуки". (продовження ...)
Джонні Юта

Відповіді:


5

Хоча немає офіційної документації Apple, ви все одно можете отримати деяку інформацію, переглядаючи iTunes та iOS, які роблять їхні речі. Це можна зробити за допомогою моніторингу файлів журналів обох, на iPhone це можна зробити через USB-з'єднання. Ось пара того, що я вже бачив, як iPhone робив на етапах синхронізації "в очікуванні xy":

  • Після копіювання нового носія на iPhone, носій потрібно індексувати, наприклад, метадані, які обробляються, ескізи потрібно створювати тощо. Поки цього не буде зроблено, носій не може відображатися належним чином у відповідних додатках iPhone, тому iTunes чекає, коли служба iPhone Media Indexer завершить свою роботу.

  • Під час копіювання нових програм на 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для цього -binary. Він повинен самостійно знайти ваш USB-підключений iPhone, якщо цього не відбувається, ви можете спробувати передати UUID свого пристрою. Після успішного сполучення (воно відобразить повідомлення про успіх на вашому термінальному інтерфейсі), використовуйте- idevicesyslogдодаток, щоб переглянути файли журналів вашого iPhone. Він підключиться до syslog-сокета вашого пристрою автоматично, якщо цього не відбудеться, ви знову можете передати UUID. Тоді всі повідомлення журналу будуть розміщені stdoutна вашому комп'ютері, наприклад, на висновку вашого терміналу.

Також є власне програмне забезпечення, яке дозволяє читати журнали на пристрої iOS, але libimobiledeviceв якості командного рядка та інструменту з відкритим кодом слід віддати перевагу.


Чи можете ви надати ще детальну інформацію про те, як слідкувати за файлами журналу?
mweiss

@mweiss Я оновив свій пост, щоб включити інформацію про це;)
LukeLR

-1

Я думаю, що в процесі "Очікування копіювання елемента" iTunes сканує елементи, які потрібно копіювати, підраховує елементи та обчислює приблизний час копіювання. Скільки всього файлів для копіювання, час очікування збільшується.


У мене було враження, що те, що ви описуєте, - це те, що відбувається під час процесу "Підготовка до копіювання предметів". Чи є у вас докази того, що саме це відбувається під час "Очікування копіювання предметів"?
mweiss
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.