【发布时间】:2017-02-07 14:07:07
【问题描述】:
我大约一年半前开发了一个应用程序,现在我又要回来了。那是我开始使用 Swift 的项目,从那时起显然发生了很多变化,无论是语言还是我的 Swift 能力。
昨天,我第一次更新了我的单个 CoreData 模型,添加了一个可选的字符串属性。我做了文件生成位,并确保在检查器列中正确选择了新的数据模型。
在我的模拟器和测试设备上,我需要删除旧版本的应用程序才能安装新版本,否则我会崩溃。我认为这只是开发环境过程的一部分。 我如何确保升级用户在从 App Store 进行简单更新时不必删除和重新安装?我假设 Xcode/CoreData/Apple 已经通过一些内部脚本或进程处理了这个问题对用户来说是不可见的,“它只是工作。”但我想在此处发布此内容,以了解是否需要做任何其他事情来确保用户从 v1 顺利过渡到 v1.1。
正如我所提到的,我所做的只是一个可选的字符串列。我假设所有现有用户数据都将迁移到新模式,新字段为nil。
这里的任何想法都将受到欢迎和赞赏。谢谢!
【问题讨论】:
-
您可以选择如何从旧版本迁移到新版本,我建议您在这里阅读一下:developer.apple.com/library/content/documentation/Cocoa/…
-
谢谢,看看
-
崩溃不是开发过程的一部分。你需要在发布之前修复它。
-
@TomHarrington,明白了。我已经让它在本地工作,但它需要我从我的模拟器中删除应用程序并进行另一个构建和运行。同样,当我把它放在我的手机上时,我必须这样做,删除我所有的旧核心数据并重新开始。用户显然无法接受,所以我需要使用旧模式构建和运行,创建一些数据,使用新模式构建和运行并确保迁移发生
标签: swift xcode core-data swift3 core-data-migration