我有一个 Mac 和 iOS 应用程序,它通过单个“鞋盒”文件使用 iCloud 共享数据。
大多数情况下,更改会以有效和迅速的方式正确同步。然而,每隔一段时间(尤其是现在)我在一台设备上所做的更改只是坐在那里。
我在我的 Mac 上对共享数据文件进行了更改,并且数据已保存到磁盘。不过不知道是系统无法将数据上传到iCloud,还是iOS设备无法检查新数据,但我在玩弄大拇指。
下面的 5KB 文件是应该更改的文件。无论我在 Mac 应用程序中进行多少更改,在测试期间每隔一段时间,iCloud 都会停止同步更改。如果我走开 20 分钟然后回来,它可能会重新开始。
进一步:如果我在 Xcode 中运行 Mac 应用程序并密切关注同一个文件,即使我对文件进行了更改并且可以确认磁盘上的文件(在 Finder/终端中)实际上正在更改,iCloud 面板在Xcode 也不会很快接受这些更改:
请注意,我的 Mac 上的本地文件系统上的相同 5KB 文件已更改(在9:01),但 iCloud 只是没有选择它。此文件中存在实际内容更改,而不仅仅是修改日期更改。
所以,我想找到一种方法:
以编程方式触发同步,甚至使用 Xcode。我知道可以使用模拟器触发 iCloud 同步,但这仅在 iOS 上测试时有效,而且我更喜欢在实际硬件上进行测试。或者,
确定谁(或什么)对未共享的数据“有过错”。我从一开始就关注 iCloud 文档,确保我使用协调写入来保存更改等。这只是一个非常间歇性的事情,iCloud 会打瞌睡,并使测试非常令人沮丧。