Answers:
在与支持移动文档的应用程序(例如Smultron 4和TextEdit)一起使用iCloud时,运行以下命令-
sudo opensnoop -n ubd
–显示由普遍存在的守护程序打开的本地文件。文件包括数据库,每个对等体一个数据库。每个对等方在以下路径中有一个目录:
~/Library/Application Support/Ubiquity
如果您想衡量进度,请决定要衡量的类型:
…更改日志文件(而不是存储文件)被上传到iCloud并下载到用户的其他每个设备。当更改日志从连接到同一iCloud帐户的另一台设备到达时,Core Data会根据收到的更改日志来更新您应用的SQLite数据库本地副本。iCloud和Core Data确保使用相同的更改集更新每个本地数据库。…
考虑:在不解释变更日志内容的情况下,是否值得评估日志文件的上载进度?
在Mac开发人员库中:
…基于文档的应用程序可以采用自动保存功能,并且其文档会在适当的时间自动保存…
也:
自动数据保存策略可减轻用户的负担
…在代码中的适当点,应保存与用户相关的所有更改,并将这些更改自动写入磁盘。…
可以自动保存用户数据的一些合适时间包括:
- 当用户关闭应用程序窗口或退出应用程序时(applicationWillTerminate :)
- 停用应用程序时(applicationWillResignActive :)
- 当用户隐藏您的应用程序时(applicationWillHide :)
- 每当用户对您应用中的数据进行有效更改时
最后一项意味着您可以在任何有意义的时间自由保存用户的数据。例如,如果用户正在编辑数据记录的字段,则可以在更改每个字段值时将其保存,或者可以在用户显示新记录时等待并保存所有字段。进行这些类型的增量更改可确保数据始终是最新的,但也需要对数据模型进行更细粒度的管理。…
考虑一下:这些节省可能太频繁了,而且金额如此之小,以致于测量是不值得的。
我玩过SQLite数据库浏览器,以浏览item-info.db
数据库以查找似乎是我的本地Mac的对等方。正如我所怀疑的那样,该应用程序只能在系统不使用数据库的情况下进行浏览–在使用Preview Untitled.png
在iCloud中进行编辑的两秒钟之内,我无法再浏览数据库……等等。
Mac App编程指南:核心App设计:
iosnoop
事情,例如但不是所有与DTrace相关的命令都能在OS X上完美运行。我也很好奇这个答案未涵盖的事情。
没有明确设计用于显示iCloud同步信息的内置OS X工具。
从OS X 10.8.2开始,Apple尚未公开此信息。除非Apple发布OS X应用程序程序员接口(API)来提供您要查找的信息,否则任何第三方将无法准确提供同步详细信息。
鉴于此,请给苹果的iCloud团队反馈;让苹果的工程师知道您想要什么以及为什么。
在等待期间,您可以跟踪与Apple iCloud服务器的连接,测量流量和磁盘访问。这些指标将提供一些见解,但不会提供预期的持续时间或完成指标的百分比。
如果您真的想看看发生了什么,可以使用tcpdump(/ usr / sbin / tcpdump)进行数据包捕获。当数据包通过网络时,它将向您显示这些数据包。这不是最简单的方法,但却是查看此数据的最全面的方法。
从OS X 10.11(如果不是10.10)开始,如果在iCloud中更改文件时在Finder中打开了iCloud Drive的任何子文件夹,并且该窗口的状态栏已打开,则Finder会告诉您有多少文件正在同步以及到目前为止已传输了多少数据。
在Terminal中运行以下命令似乎对我有用:
lsof | grep "Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache"
lsof命令导致以下结果:
cloudd 11237 carl 10r REG 1,4 3009775 1460206 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/AYX/cplAYX8CMwjKIhIUqNRCwXobzKHe9iC.jpeg
cloudd 11237 carl 21r REG 1,4 2465075 1460208 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/ATL/cplATLqV8CAvtA70qoJqZ21PimnEIPe.jpeg
只需再次发出它(向上箭头并按回车键),您应该会看到它已更改。