在“等待更改应用”和“等待复制项目”期间实际发生了什么?


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 2014年

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年

关于此主题的可能有用的2014-12-29文章:macworld.com/article/2861406 / ... 而且,是的,我经历了同样的症状,并且持续了数年。叹。
约翰尼·犹他州

@JohnnyUtahh,我看到了该文章-两个多月前,我在那发表了评论(在评论中向下滚动)。
mweiss 2015年

谢谢@mweiss,有帮助。另外:我建议我们共同给苹果写一封简洁的“公开信”(显然是为了使iTunes + iOS同步得到修复)。然后我们每个人都试图找到一个我们认识的重要Apple代表-Apple组织结构图中的越高越好-并亲自提供与信件完全相同的副本。也可以通过apple.com-“在线反馈”系统提交。(续...)
约翰尼·犹他

Answers:


5

尽管Apple没有官方文档,但您仍然可以通过观看iTunes和iOS来获得一些信息。这可以通过监视两者的日志文件来完成,在iPhone上可以通过USB连接来完成。这是我已经在“等待xy”同步阶段看到iPhone的一些操作:

  • 将新媒体复制到iPhone后,需要对媒体进行索引,例如要处理的元数据,需要创建缩略图等。在此操作完成之前,媒体无法在相应的iPhone应用程序中正确显示。等待iPhone Media Indexer服务完成其工作。

  • 将新应用复制到iPhone时,打包的.ipa文件需要解压并安装,例如,在iPhone的主屏幕中注册,应用列表,文件扩展名数据库等,这是在同步的阶段完成的。

  • 聚焦搜索可能需要一些时间来索引新文件,iTunes也会等待它(并非总是如此,但有时!)。

  • iTunes将文件传输到iPhone时,它总是以几种方式验证文件的内容,无论是存档完整性还是比较的哈希值。这些过程确实需要大量时间,具体取决于传输数据的大小,iTunes会等待成功验证才能完成同步。

  • 当通过任何一种验证方法检测到复制失败时,iTunes都会再次复制文件。iTunes通常不显示这些过程,而是在“等待复制项目”过程中完成的。

  • iTunes还将等待复制过程成功终止,当在计算机之间传输数据时,将关闭流和套接字。尽管这应该立即发生,但有时还是会发生故障,iPhone需要一些时间。

  • 通常,您可以说iTunes利用这些阶段进行验证和错误纠正以及完成“补充性”工作。它们非常有用,特别是在使用WiFi同步时,它比USB容易出错。

编辑:要查看iPhone / iPad的日志文件,不需要越狱。最好的工具可能是libimobiledevice一堆根据LGPL 2.1许可的免费开源软件。它无需iTunes就可以处理iOS设备,即使在Linux计算机上也是如此。尽管它是为Linux机器设计的,但是它也可以在Mac上运行,例如,通过编译源代码,或者甚至更容易地通过homebrew安装。尽管我一直在Linux机器上使用它,但是在Mac OS X上应该以相同的方式工作。

您可能需要先将iPhone配对,然后使用idevicepair-binary。它可以自行找到通过USB连接的iPhone,如果找不到,则可以尝试传递设备的UUID。配对成功后(它将在您的终端界面上显示成功消息),使用idevicesyslog-application查看iPhone的日志文件。它将自动连接到syslog设备的-socket,如果没有,则可以再次传递UUID。然后,所有日志消息都将发布到stdout您的计算机上,例如发布到终端输出。

也有专有软件,可让您读取iOS设备上的日志,但最好libimobiledevice使用命令行工具和开源工具。


您能否提供更多有关如何监视日志文件的详细信息?
mweiss

@mweiss我已经更新了我的帖子,以包括有关此信息;)
LukeLR

-1

我认为在“等待复制项目”过程中,iTunes会扫描要复制的项目,对项目进行计数并计算估计的复制时间。多达要复制的文件,等待时间增加。


我的印象是,您所描述的是在“准备复制项目”过程中发生的事情。您是否有证据表明这是在“等待复制项目”期间发生的事情?
mweiss
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.