Ada ratusan utas di lusinan forum internet tentang perangkat iOS yang macet pada "Menunggu perubahan diterapkan" dan / atau "Menunggu item disalin" saat menyinkronkan. Saya mengalami masalah itu sebentar-sebentar selama dua tahun, di iOS 6, 7 dan sekarang 8, dan terus terang setelah mencoba semua perbaikan yang saya baca, saya menyerah untuk mencoba menyelesaikannya. Bukan itu pertanyaannya. Yang ingin saya ketahui adalah:
Apa yang seharusnya terjadi selama tahap sinkronisasi?
Apakah kedua pesan itu memiliki arti yang sama, atau sesuatu yang berbeda? Apa yang coba dilakukan iTunes ? Apakah membaca dari basis data internal pada perangkat dan membandingkannya dengan perpustakaan iTunes di komputer? Apakah ini menulis ke pustaka perangkat? Apa itu tulisan? File apa yang sedang dikerjakannya? Apakah ada cara untuk menonton aktivitas yang sedang berlangsung, baik dalam waktu nyata atau setelah fakta?
sumber
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
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
Jawaban:
Meskipun tidak ada dokumentasi resmi oleh Apple, Anda masih bisa mendapatkan beberapa informasi dengan menonton iTunes dan iOS melakukan hal-hal mereka. Ini dapat dilakukan dengan memonitor file log keduanya, pada iPhone ini dapat dilakukan melalui koneksi USB. Berikut adalah beberapa hal yang sudah saya lihat dilakukan iPhone dalam tahap sinkronisasi "waiting for xy":
Setelah menyalin media baru ke iPhone, media perlu diindeks, misalnya ada metadata yang akan diproses, gambar mini harus dibuat dll. Sampai selesai, media tidak dapat ditampilkan dengan benar di aplikasi iPhone yang sesuai, jadi iTunes menunggu layanan iPhone Media Indexer untuk menyelesaikan tugasnya.
Saat menyalin aplikasi baru ke iPhone,
.ipa
file -file yang dikemas perlu membongkar dan menginstal, misalnya mendaftar di layar beranda iPhone, daftar aplikasi, basis data ekstensi file dll, ini dilakukan selama tahap sinkronisasi.Pencarian sorotan mungkin perlu waktu untuk mengindeks file baru, iTunes juga menunggu ini (tidak selalu, tapi kadang-kadang!)
Ketika iTunes mentransfer file ke iPhone, ia selalu memverifikasi konten file dengan beberapa cara, apakah itu integritas arsip atau hash yang dibandingkan. Proses-proses ini memang memerlukan banyak waktu, tergantung pada ukuran data yang ditransfer, dan iTunes menunggu verifikasi yang berhasil untuk menyelesaikan sinkronisasi.
Ketika ada kegagalan penyalinan yang terdeteksi oleh salah satu metode verifikasi, iTunes akan menyalin file lagi. Seringkali proses ini tidak ditampilkan oleh iTunes, ini dilakukan selama proses "Menunggu item untuk disalin".
iTunes juga akan menunggu proses penyalinan berakhir dengan sukses, ada aliran dan soket untuk ditutup saat data ditransfer antar komputer. Meskipun ini harus terjadi secara instan, terkadang ada kegagalan dan iPhone perlu waktu.
Secara umum, Anda dapat mengatakan bahwa iTunes menggunakan tahapan-tahapan ini untuk verifikasi dan koreksi kesalahan serta melakukan pekerjaan "penyelesaian". Mereka menjadi sangat berguna terutama ketika menggunakan sinkronisasi WiFi, yang jauh lebih rentan kesalahan daripada USB.
Sunting : Untuk melihat file log dari iPhone / iPad, jailbreak tidak diperlukan. Alat terbaik mungkin adalah
libimobiledevice
, kumpulan perangkat lunak open-source gratis yang dilisensikan di bawah LGPL 2.1 . Itu mampu menangani perangkat iOS tanpa perlu iTunes, bahkan pada mesin Linux. Meskipun dirancang untuk mesin Linux, ini dapat dijalankan pada Mac juga, misalnya dengan mengkompilasi kode sumber , atau, bahkan lebih mudah, dengan menginstal melalui homebrew . Meskipun saya selalu menggunakannya di mesin Linux, ini seharusnya bekerja dengan cara yang sama pada Mac OS X.Anda mungkin perlu memasangkan iPhone Anda terlebih dahulu, gunakan-
idevicepair
biner untuk ini. Seharusnya menemukan iPhone yang terhubung melalui USB sendiri, jika tidak, Anda dapat mencoba melewati UUID perangkat Anda. Setelah pemasangan berhasil (ini akan menampilkan pesan sukses ke antarmuka terminal Anda), gunakan aplikasi-idevicesyslog
untuk melihat file log iPhone Anda. Ini akan terhubung kesyslog
-socket perangkat Anda secara otomatis, jika tidak, Anda dapat melewati UUID lagi. Kemudian semua pesan log akan dipostingstdout
di komputer Anda, misalnya ke output terminal Anda.Ada juga perangkat lunak berpemilik yang memungkinkan Anda membaca log pada perangkat iOS Anda, tetapi
libimobiledevice
sebagai alat baris perintah dan sumber terbuka harus lebih disukai.sumber
Saya pikir dalam proses "Menunggu item untuk Disalin" iTunes memindai item-item yang akan disalin, menghitung item, dan menghitung perkiraan waktu salinan. Sebanyak file yang akan disalin, waktu tunggu meningkat.
sumber