Chociaż Apple nie ma oficjalnej dokumentacji, nadal możesz uzyskać pewne informacje, oglądając iTunes i iOS wykonujące swoje czynności. Można to zrobić poprzez monitorowanie plików dziennika obu, na iPhonie można to zrobić przez połączenie USB. Oto kilka rzeczy, które widziałem, jak iPhone robi na etapach synchronizacji „czekając na xy”:
Po skopiowaniu nowych multimediów na iPhone'a, media muszą zostać zindeksowane, np. Trzeba przetworzyć metadane, utworzyć miniatury itp. Do tego czasu media nie będą poprawnie wyświetlane w odpowiednich aplikacjach na iPhone'a, więc iTunes czeka, aż usługa iPhone Media Indexer zakończy swoją pracę.
Podczas kopiowania nowych aplikacji na iPhone'a spakowane .ipa
pliki muszą rozpakować się i zainstalować, np. Zarejestrować się na ekranie głównym iPhone'a, listach aplikacji, bazach rozszerzeń plików itp., Odbywa się to na tym etapie synchronizacji.
Wyszukiwanie w centrum uwagi może wymagać czasu na indeksowanie nowych plików, iTunes też na to czeka (nie zawsze, ale czasami!)
Gdy iTunes przesyła pliki do iPhone'a, zawsze weryfikuje zawartość pliku na kilka sposobów, porównując integralność archiwum lub skróty. Procesy te wymagają dużo czasu, w zależności od wielkości przesyłanych danych, a iTunes czeka na pomyślną weryfikację w celu ukończenia synchronizacji.
W przypadku wykrycia błędów kopiowania za pomocą dowolnej metody weryfikacji, iTunes ponownie skopiuje pliki. Często procesy te nie są wyświetlane przez iTunes, odbywa się to podczas przetwarzania „Oczekiwania na elementy do skopiowania”.
iTunes będzie również czekał na pomyślne zakończenie procesów kopiowania, istnieją strumienie i gniazda do zamknięcia, gdy dane są przesyłane między komputerami. Chociaż powinno to nastąpić natychmiast, czasem zdarzają się awarie i iPhone potrzebuje trochę czasu.
Ogólnie można powiedzieć, że iTunes wykorzystuje te etapy do weryfikacji i korekty błędów, a także do wykonywania „kompletnych” prac. Stają się niezwykle przydatne, zwłaszcza podczas korzystania z synchronizacji Wi-Fi, która jest znacznie bardziej podatna na błędy niż USB.
Edycja : Aby wyświetlić pliki dziennika na iPhonie / iPadzie, jailbreak nie jest wymagany. Prawdopodobnie najlepszym narzędziem jest libimobiledevice
pakiet darmowego oprogramowania open source licencjonowanego na licencji LGPL 2.1 . Jest w stanie obsłużyć urządzenie iOS bez potrzeby iTunes, więc nawet na komputerach z systemem Linux. Mimo że jest przeznaczony dla komputerów z systemem Linux, może być również uruchamiany na komputerach Mac, np. Poprzez kompilację kodu źródłowego lub, co łatwiejsze, instalując go przez homebrew . Chociaż zawsze używam go na komputerach z systemem Linux, powinno to działać tak samo w systemie Mac OS X.
Prawdopodobnie najpierw musisz sparować iPhone'a, w idevicepair
tym celu użyj opcji -binary. Powinien sam znaleźć iPhone'a podłączonego przez USB, jeśli nie, możesz spróbować przekazać UUID swojego urządzenia. Po pomyślnym sparowaniu (wyświetli komunikat o powodzeniu do interfejsu terminala), użyj idevicesyslog
-application, aby wyświetlić pliki dziennika na iPhonie. Połączy się automatycznie z syslog
gniazdem urządzenia, jeśli nie, możesz ponownie przekazać UUID. Następnie wszystkie komunikaty dziennika zostaną wysłane stdout
na komputer, np. Na wyjście terminala.
Istnieje również autorskie oprogramowanie, które pozwala czytać dzienniki na urządzeniu z systemem iOS, ale libimobiledevice
jako narzędzie wiersza polecenia i narzędzia open source powinno być preferowane.
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