我无法使用任何官方 Xcode 工具来追踪这一点。
我不是想解决任何特定的问题。我想知道,为了更深入地了解,从 CoreData+sqllite 的角度来看,当用户错过更新并更新未来版本时会发生什么。
我的意思是安装了应用程序 1.0,然后发布了 1.1,并更改了其 xcdatamodel,但出于任何原因,用户没有更新它。然后几天(或几周)后,1.2 发布,其 xcdatamodel 发生了变化,用户更新了应用程序。或者最糟糕的是,他只更新了 1.x 版本。同时,该应用程序尚未从设备中删除,因此文档文件夹仍然存在。
我的理解是:更新应用程序时,启动时模型也会更新。仅仅因为 sqllite 数据库不能重命名列,加上其他限制,我想如果需要,创建一组新表并用旧数据填充,然后删除旧表。
那么,在 xcdatamodel 包含所有以前的版本的情况下,iOS 是遍历所有链直到最新版本逐步更新模型,还是足够聪明地直接跳转到最新版本?