我最近在更新应用时遇到了一些重大问题。许多用户在迁移到最新版本后抱怨dataloss。
经过几个小时后,我仍然不确定发生了什么,但我有一个理论,我想证实。
Apple在文档中说:迁移和iCloud
对于与给定NSPersistentStoreUbiquitousContentNameKey关联的每个模型版本,将独立记录和保留对商店的更改。如果模型版本匹配,则使用给定NSPersistentStoreUbiquitousContentNameKey配置的持久性存储仅将数据与另一个设备数据上的存储同步。
如果将使用NSPersistentStoreUbiquitousContentNameKey选项配置的持久性存储迁移到新的模型版本,则还将迁移存储的来自当前设备的更改历史记录,然后将其与使用该新模型版本配置的任何其他设备合并
这是否意味着当我有多个设备并迁移第一个设备时。不是来自该设备的所有数据都会“丢失”,因为模型版本不再匹配,直到其他设备也更新到最新版本,并且其数据和更改历史记录将迁移到新的模型版本。
因为这似乎是我可以复制问题的一种风景。那是真的吗?任何帮助和见解都表示赞赏...
答案 0 :(得分:2)
这大致正确。如果两个设备使用不同版本的数据模型,则它们无法相互同步。在这种情况下数据不会“丢失”,但同步会停止。升级所有设备后,应恢复同步。
我不知道你的案件中是否发生了这种情况,但这就是那些文档试图告诉你的。