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 ke syslog
-socket perangkat Anda secara otomatis, jika tidak, Anda dapat melewati UUID lagi. Kemudian semua pesan log akan diposting stdout
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.
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