iOS核心数据iCloud同步 - 可选

时间:2014-11-11 14:56:25

标签: ios core-data icloud

我想将iCloud同步添加到我的基于CoreData的应用程序,并使其成为一个选项,而不是唯一的状态。从我看到的,在iOS 7+中添加iCloud归结为添加

@{NSPersistentStoreUbiquitousContentNameKey: @"MyCloudStore"}

选项字典到addPersistentStoreWithType:...调用,并通过合并传入数据来响应NSPersistentStoreDidImportUbiquitousContentChangesNotification

这是否意味着要在应用中启用/禁用iCloud同步,我只需要使用适当的选项将商店重新添加到persistentStoreCoordinator并添加/删除NSPersistentStoreDidImportUbiquitousContentChangesNotification观察者?使用相同的本地SQLite文件会有任何问题吗?

1 个答案:

答案 0 :(得分:1)

不,这还不够,您还需要对NSPersistentStoreCoordinatorStoresWillChangeNotification和NSPersistentStoreCoordinatorStoresDidChangeNotification做出反应。

您还需要反映您的功能,例如:如果你有初始数据,你需要考虑在第二台设备/对等设备上安装应用程序时发生的事情,以避免重复数据。

此外,您需要检查帐户是否更改,以及更多问题。

苹果https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40013491-CH1-SW1提供了很好的文档,可以很好地描述需要考虑的内容。