由于 CoreData 迁移,应用在安装后在测试外部测试版中崩溃

App Crashes on test flight after installing due to CoreData Migration

提问人:Sarmad Zaheer 提问时间:11/10/2023 更新时间:11/10/2023 访问量:28

问:

我在 testflight 上有旧版本的应用。我向 coreData 添加了 2 个实体,但我不熟悉迁移要求。现在,我的应用程序崩溃了,在我附加的代码上出现以下错误

lazy var persistentContainer: NSPersistentContainer = {
    let container = NSPersistentContainer(name: "LocalDatabase")
    /*add necessary support for migration*/
        let description = NSPersistentStoreDescription()
        description.shouldMigrateStoreAutomatically = true
        description.shouldInferMappingModelAutomatically = true
        container.persistentStoreDescriptions =  [description]
        /*add necessary support for migration*/
    container.loadPersistentStores(completionHandler: { (_, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

崩溃发生在第二行。该应用程序尚未上线,因此我有可能确保下次对核心数据进行更改时执行迁移。但是我现在能做些什么来解决这个问题吗?

当我尝试直接在设备上构建时,我没有收到明确的错误。它只是给出无法安装错误Crash logs

swift xcode 核心 数据迁移

评论

0赞 Joakim Danielson 11/10/2023
"...出现以下错误“,我不清楚该错误是什么。您能否包含实际的错误消息或澄清它(如果已包含)?
0赞 Sarmad Zaheer 11/10/2023
这就是问题所在。我无法收到错误。应用程序不会直接在设备上构建,这是 testflight 的崩溃报告
0赞 Tom Harrington 11/12/2023
你的意思是应用程序不直接在设备上构建?在进入 TestFlight 之前,您是如何测试它的?
0赞 Sarmad Zaheer 11/13/2023
@TomHarrington我在testflight上有旧版本。版本 11 在 Coredata 中进行了一些更改。因此,如果我们在 12、13 或 14 上安装 11,它会继续工作,但是当我在 12、13 或 14 上安装 10 时,它会崩溃。
0赞 Sarmad Zaheer 11/13/2023
我发现了这个问题。这是由于迁移失败。它失败了,因为我在 CoreData 中没有更改。所以,我只是添加了一个虚拟实体

答: 暂无答案