与CloudKit中的目录集成

时间:2015-02-25 10:37:43

标签: core-data sync cloudkit ensembles

我在这个项目中使用Ensembles,我将不同的用户组存储在不同的目录中。我已经构建了或多或少复制示例应用程序,Idiomatic的同步管理器。

初始化CDECloudFileSystem我这样做:

  newSystem = [[CDECloudKitFileSystem alloc] initWithUbiquityContainerIdentifier:[CKContainer defaultContainer].containerIdentifier
rootDirectory:directoryString usePublicDatabase:YES];

其中directoryString是当前用户组的全局ID。

现在我希望能够在群组之间切换,让用户只在设备上本地拥有群组的数据。

我的想法如何解决这个问题是通过从表视图中选择它来更改用户组(一组带有组名称的CKRecords和对应于Ensembles / Core Data对象的全局ID),删除以删除旧数据用户登录到另一个组,然后进行搜索以获取所选组的数据。

此方法是否有效,旧数据是否会在删除时在本地删除,还是有更好的方法可以解决这个问题?

1 个答案:

答案 0 :(得分:2)

我认为你的计划听起来不错。主要挑战将是如何管理用户如何加入特定群组。

另请注意,公共数据库完全公开。可能感兴趣的是现在有一个用密码加密数据的选项。它刚刚被添加到github。您可以使用密码隐藏每个组的数据。

删除只会删除同步数据的缓存。它不会删除本地持久性存储数据。如果你再次吮吸,本地数据将再次导入。如果您不想要,则必须删除持久存储,删除存储文件,然后添加一个空存储。

您还应该检查水蛭选项。有一种假设所有数据都在云中,这对您的情况应该更有效。