我正在尝试通过使用 NSFileManager 上的 iCloud 方法(无文档或文件协调器)将 iCloud 同步添加到我的 iOS/Mac 应用程序。该应用程序需要跨各种实例同步音频文件;创建、删除和元数据更改。它不是一个协作风格的应用程序,所以我不太担心冲突等。我有一些基本的工作,但遇到了一些我似乎无法找到明确答案的基本问题。
使用 iCloud 时,涉及到两个本地目录,文件来源的沙盒目录和无处不在的容器目录。一旦我为 ubiquity 启用文件,我应该开始直接与 ubiquity 容器中的文件进行交互,还是应该继续与沙盒文件交互并从 ubiquity 对应对象推送/拉取更改?感觉后者是最好的,这样如果他们关闭 iCloud,我就不会丢失所有用户文件(不确定在这种情况下普遍存在容器中的文件会发生什么)。
如果我维护两个文件,是否有一种首选方法可以将增量更改推入/拉出无处不在的容器?据我了解,如果用户更改给定设备上的文件,所有其他设备都会在其本地通用副本(如果已下载)中获得增量更改。每次通用文件更改时,我是否应该将文件全部复制到我的本地沙箱目录中,反之亦然?