Mặc dù Apple không có tài liệu chính thức, nhưng bạn vẫn có thể nhận được một số thông tin bằng cách xem iTunes và iOS thực hiện công việc của họ. Điều này có thể được thực hiện bằng cách giám sát các tệp nhật ký của cả hai, trên iPhone, điều này có thể được thực hiện qua kết nối USB. Dưới đây là một vài điều tôi đã thấy iPhone đang làm trong giai đoạn đồng bộ hóa "chờ xy":
Sau khi sao chép phương tiện mới vào iPhone, phương tiện cần được lập chỉ mục, ví dụ: có siêu dữ liệu cần xử lý, hình thu nhỏ cần được tạo, v.v. Cho đến khi hoàn thành, phương tiện không thể được hiển thị chính xác trong các ứng dụng iPhone tương ứng, vì vậy iTunes chờ đợi dịch vụ iPhone Media Indexer hoàn thành công việc của mình.
Khi sao chép ứng dụng mới vào iPhone, các .ipa
tệp đóng gói cần phải giải nén và cài đặt, ví dụ: đăng ký trong màn hình chính của iPhone, danh sách ứng dụng, cơ sở dữ liệu mở rộng tệp, v.v., điều này được thực hiện trong giai đoạn đồng bộ hóa đó.
Tìm kiếm nổi bật có thể cần thời gian để lập chỉ mục các tệp mới, iTunes cũng chờ điều này (không phải lúc nào cũng vậy, nhưng đôi khi!)
Khi iTunes chuyển tệp sang iPhone, nó luôn xác minh nội dung của tệp theo nhiều cách, vì nó lưu trữ tính toàn vẹn hoặc giá trị băm được so sánh. Các quy trình này cần nhiều thời gian, tùy thuộc vào kích thước của dữ liệu được chuyển và iTunes chờ xác minh thành công để hoàn tất đồng bộ hóa.
Khi có lỗi sao chép được phát hiện bởi bất kỳ phương thức xác minh nào, iTunes sẽ sao chép lại các tệp. Thông thường các quy trình này không được iTunes hiển thị, nó được thực hiện trong quá trình "Đang chờ các mục để sao chép".
iTunes cũng sẽ chờ các quá trình sao chép kết thúc thành công, có các luồng và ổ cắm đóng khi dữ liệu được truyền giữa các máy tính. Mặc dù điều này sẽ xảy ra ngay lập tức, đôi khi có những thất bại và iPhone cần một chút thời gian.
Nói chung, bạn có thể nói rằng iTunes sử dụng các giai đoạn này để xác minh và sửa lỗi cũng như thực hiện công việc "hoàn thành". Chúng cực kỳ hữu ích, đặc biệt là khi sử dụng đồng bộ hóa WiFi, dễ bị lỗi hơn nhiều so với USB.
Chỉnh sửa : Để xem các tệp nhật ký của iPhone / iPad, không cần bẻ khóa. Công cụ tốt nhất có lẽ là libimobiledevice
, một gói phần mềm nguồn mở miễn phí được cấp phép theo LGPL 2.1 . Nó có khả năng xử lý một thiết bị iOS mà không cần iTunes, vì vậy ngay cả trên các máy Linux. Mặc dù được thiết kế cho các máy Linux, nó cũng có thể chạy trên Mac, ví dụ: bằng cách biên dịch mã nguồn , hoặc thậm chí dễ dàng hơn bằng cách cài đặt thông qua homebrew . Mặc dù tôi luôn sử dụng nó trên các máy Linux, nhưng nó cũng hoạt động tương tự trên Mac OS X.
Bạn có thể cần ghép nối iPhone của mình trước, sử dụng idevicepair
-binary cho việc này. Nó sẽ tự tìm iPhone kết nối USB của bạn, nếu không, bạn có thể thử vượt qua UUID của thiết bị. Sau khi ghép nối thành công (nó sẽ hiển thị thông báo thành công đến giao diện đầu cuối của bạn), hãy sử dụng ứng dụng idevicesyslog
để xem các tệp nhật ký của iPhone. Nó sẽ tự động kết nối với syslog
-socket của thiết bị của bạn, nếu không, bạn có thể vượt qua UUID một lần nữa. Sau đó, tất cả các thông điệp tường trình sẽ được đăng lên stdout
trên máy tính của bạn, ví dụ như đầu ra thiết bị đầu cuối của bạn.
Cũng có phần mềm độc quyền cho phép bạn đọc nhật ký trên thiết bị iOS của mình, nhưng libimobiledevice
nên sử dụng công cụ mã nguồn mở và dòng lệnh.
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