6

在允许用户跨多个设备同步核心数据内容的应用程序中,我应该使 NSPersistentStoreUbiquitousContentNameKey 的唯一性如何?

即它在拥有设备 ID 的意义上应该是唯一的吗?因此,如果用户在他们的 iPhone 上运行一个应用程序,它有一个 NSPersistentStoreUbiquitousContentNameKey,如果他们在他们的 iPad 上运行它,还有另一个 NSPersistentStoreUbiquitousContentNameKey?

或者它只是从一个应用程序到另一个应用程序是独一无二的?即,如果我有 App A,它有一个 NSPersistentStoreUbiquitousContentNameKey,而 App B 有另一个 NSPersistentStoreUbiquitousContentNameKey?

4

2 回答 2

2

其目的是唯一标识用户帐户中的持久存储。因此,如果一个应用程序只有一个持久性存储(如待办事项列表可能),那么该应用程序的每次安装都可以共享该键的相同值,但如果您想拥有多个持久性存储,那么每个存储都需要一个唯一的这里的关键值。这有帮助吗?

于 2013-11-11T05:04:06.580 回答
0

来自苹果文档:

内容名称用于标识跨不同设备的存储,以便事务与跨所有设备的该持久存储文件的潜在许多实例一致地同步。因此,您必须确保为每个商店提供唯一的名称,例如 UUID。

https://developer.apple.com/library/IOs/releasenotes/DataManagement/RN-iCloudCoreData/

于 2013-12-14T08:42:43.937 回答