在我的应用程序中,用户可以跨多个设备同步核心数据内容,我应该如何制作NSPersistentStoreUbiquitousContentNameKey?
即。在拥有设备ID的意义上它应该是唯一的吗?因此,如果用户在他们的iPhone上运行应用程序,它有一个NSPersistentStoreUbiquitousContentNameKey,如果他们在iPad上运行它有另一个NSPersistentStoreUbiquitousContentNameKey?
或者从应用程序到应用程序它是否独一无二?即如果我有App A,它有一个NSPersistentStoreUbiquitousContentNameKey而App B有另一个NSPersistentStoreUbiquitousContentNameKey?
答案 0 :(得分:2)
其目的是唯一地标识用户帐户中的持久存储。因此,如果一个应用程序只有一个持久性存储(如todo列表可能),那么该应用程序的每个安装都可以为此密钥共享相同的值,但如果您想拥有多个持久性存储,那么每个应用程序都需要一个唯一的这里的关键价值。这有帮助吗?
答案 1 :(得分:0)
来自apple docs:
内容名称用于标识不同商店 设备,以便事务与之一致 所有持久存储文件的潜在许多实例 设备。因此,您必须确保提供独特的 每个商店的名称 - 例如,UUID。
https://developer.apple.com/library/IOs/releasenotes/DataManagement/RN-iCloudCoreData/