我有一个使用iCloud通过单个“shoebox”文件共享数据的Mac和iOS应用程序。
大多数情况下,更改会以有效和迅速的方式正确同步。但是,每隔一段时间(特别是现在),我在一台设备上进行的更改只是坐在那里。
我已将Mac上的更改更改为共享数据文件,并且数据已保存到磁盘。但是,我不知道系统是否未能将数据上传到iCloud,或者iOS设备无法检查以获取新数据,但我是在瞎逛我的大拇指。
下面的5KB文件是应该更改的文件。无论我在Mac应用程序中做了多少更改,在测试过程中,iCloud都会暂时停止同步更改。如果我走了20分钟然后回来,它可能会重新启动。
进一步:如果我在Xcode中运行Mac应用程序并密切关注同一个文件,即使我对文件进行了更改并且可以确认磁盘上的文件(在Finder /中)终端)实际上正在发生变化,Xcode中的iCloud面板也不会很快发现这些变化:
请注意我的Mac上的本地文件系统上的相同5KB文件已更改( 9:01 ),但iCloud只是没有拿起它。此文件中存在实际的内容更改,而不仅仅是修改日期更改。
所以,我想找到一种方法:
以编程方式触发同步,甚至使用Xcode。我知道可以使用模拟器触发iCloud同步,但这仅适用于在iOS上进行测试时,我更喜欢在实际硬件上进行测试。或者,
确定没有共享数据的人(或者是什么)“有过错”。我从一开始就遵循iCloud文档,确保我使用协调写入来保存更改等。这只是一个非常间歇性的事情,iCloud会打瞌睡,并使测试非常令人沮丧。
答案 0 :(得分:1)
我认为您不能触发所选文件的同步,但您可以使用此工具" brctl"看看幕后发生了什么(或诊断)(在OSX上),以诊断它可能是什么。
commant line命令:
$ brctl
例如像这样使用它
brctl log --wait --shorten
或 brctl诊断
答案 1 :(得分:0)
我意识到当您将任何商店迁移到现有的iCloud商店时,iCloud商店会添加这些数据并强制同步到iCloud中的版本。所以我将一个空商店迁移到我现有的iCloud商店,我强制同步!