我如何才能看到我的应用程序是否获得了iCloud数据?

时间:2014-06-25 09:43:05

标签: ios objective-c core-data icloud

我正在将我的核心数据应用程序与iCloud集成,我希望用户能够选择是否要将本地数据迁移到iCloud,或者他们可以选择是否要下载已经在iCloud上的数据。

让我们说我有一部iPhone而且我已经使用了我的应用程序一段时间了,还有很多本地数据。然后我得到一台iPad并开始使用iCloud的应用程序(一个启用iCloud的开关)。现在,我希望在我的iPhone上包含iCloud,并且我希望收到一条消息提示:“您要迁移本地数据还是从iCloud下载当前数据?”

那么,我怎样才能看到iCloud上是否有数据?

1 个答案:

答案 0 :(得分:0)

一般的想法是,当您创建Core Data持久性存储时,您传入一些参数(NSPersistentStoreUbiquitousContentNameKey和可选NSPersistentStoreUbiquitousContentURLKey)来标识存储在iCloud中的元数据文件。然后,您可以为NSPersistentStoreDidImportUbiquitousContentChangesNotification添加一个观察者,以便您的应用能够对商店的更改做出反应。

因此,基本上,NSPersistentStoreDidImportUbiquitousContentChangesNotification观察者是您知道数据可用/已更改的地方。

如果您的商店属于原子类型,则应使用NSFilePresenter协议在您的应用内发送通知。

您可能会发现有趣的内容Using Core Data with iCloud Programming Notes

如果您正在寻找代码示例,而不是将它们放在这里,我建议您查看this tutorial,其中详细介绍了您需要的所有内容,包括添加iCloud ON / OFF开关。< / p>