我们有一个应用程序,目前在应用商店.它使用核心数据作为其持久性机制.我们有一个新版本准备好了,它有一些模式更改.具体来说,我们添加了一个新实体,并向现有实体添加了一个新属性.从我的理解和阅读,这是可以发生的最简单的迁移之一.没有现场删除,没有关系改变.数据模型由5个完全没有关系的实体组成.
我们已经对数据模型进行了版本化,并创建了一个.xcmappingmodel来处理迁移.我们正在通过添加以下选项来创建PersistentStoreCoordinator来处理迁移:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption,nil];
目前,我们已经使用以下过程成功测试了团队的几名成员:
>从设备和iTunes中删除应用程序的所有测试版本
>转到应用商店并下载当前版本
>对应用程序进行一些更改,以证明迁移成功
>将新的二进制文件(使用相同的包标识符签名)拖入iTunes并进行同步
>在设备上加载新版本,确认以前版本中所做的更改仍然存在,并且应用程序不会崩溃