iOS Core Data iCloud 同步 - 可选
Posted
技术标签:
【中文标题】iOS Core Data iCloud 同步 - 可选【英文标题】:iOS Core Data iCloud sync - make optional 【发布时间】:2014-11-11 14:56:25 【问题描述】:我想将 iCloud 同步添加到基于 CoreData 的应用程序中,并使其成为一个选项,而不是唯一的状态。据我所知,在 ios 7+ 中添加 iCloud 归结为添加
@NSPersistentStoreUbiquitousContentNameKey: @"MyCloudStore"
addPersistentStoreWithType:...
调用的选项字典,并通过合并传入数据来响应NSPersistentStoreDidImportUbiquitousContentChangesNotification
。
这是否意味着要在应用程序中启用/禁用 iCloud 同步,我只需使用适当的选项将商店重新添加到 persistentStoreCoordinator
并添加/删除 NSPersistentStoreDidImportUbiquitousContentChangesNotification
观察者?使用同一个本地 SQLite 文件会有什么问题吗?
【问题讨论】:
【参考方案1】:不,这还不够,您还需要对 NSPersistentStoreCoordinatorStoresWillChangeNotification 和 NSPersistentStoreCoordinatorStoresDidChangeNotification 做出反应。
您还需要反映您的功能,例如如果您有初始数据,则需要考虑将应用安装在第二台设备/对等设备上时发生了什么,以避免重复数据。
此外,您需要检查帐户是否更改,以及其他一些问题。
Apple https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40013491-CH1-SW1 有一个非常好的文档,它很好地描述了需要考虑的内容。
【讨论】:
以上是关于iOS Core Data iCloud 同步 - 可选的主要内容,如果未能解决你的问题,请参考以下文章
在应用程序运行时启用/禁用 Core Data 的 iCloud 同步
iCloud Core Data 在 Xcode 6 / ios 8 SDK 中运行后不可用