强制或"鼓励"iCloud将更改上传到文件

Cra*_*tis 16 macos xcode cocoa ios icloud

我有一个Mac和iOS应用程序,通过一个"鞋盒"文件使用iCloud共享数据.

大多数情况下,更改会以有效和迅速的方式正确同步.但是,每隔一段时间(特别是现在),我在一台设备上进行的更改只会坐在那里.

我在Mac上对共享数据文件进行了更改,数据已保存到磁盘.但是,我不知道系统是否未能数据上传到iCloud,或者iOS设备未能检查新数据,但我正在弄乱我的拇指.

电话上的iCloud状态

下面的5KB文件是应该更改的文件.无论我在Mac应用程序中做了多少更改,在测试过程中,iCloud都会暂时停止同步更改.如果我走了20分钟然后回来,它可能会再次启动.

此外:如果我在Xcode中运行Mac应用程序并密切关注同一文件,即使我对文件进行了更改并且可以确认磁盘上的文件(在Finder /终端中)实际上正在发生变化,iCloud面板也会在Xcode也不会很快得到这些变化:

Mac上的iCloud状态

请注意,我的Mac上的本地文件系统(9:01)上的相同5KB文件已更改,但iCloud只是没有提取它.此文件中存在实际内容更改,而不仅仅是修改日期更改.

所以,我想找到一种方法:

  1. 以编程方式触发同步,甚至使用Xcode.我知道可以使用模拟器触发iCloud同步,但这仅适用于在iOS上进行测试时,我更喜欢在实际硬件上进行测试.要么,

  2. 确定没有共享数据的人(或什么)"有过错".我从一开始就遵循iCloud文档,确保我使用协调写入来保存更改等.这只是一个非常间歇性的事情,iCloud会打瞌睡,并使​​测试非常令人沮丧.

Mar*_*cin 1

我不认为你可以触发所选文件的同步,但你可以使用这个工具“brctl”来查看(或诊断)(在 OSX 上)到底发生了什么,以诊断它可能是什么。

命令行命令:

$ brctl
Run Code Online (Sandbox Code Playgroud)

例如像这样使用它

brctl log --wait --shorten
Run Code Online (Sandbox Code Playgroud)

或 brctl 诊断