Ios 在testflight上从旧版本更新到新版本时应用程序崩溃
我创建了一个应用程序,当在testflight上尝试从构建54升级到55时,它会崩溃。但是如果我先删除应用程序,然后安装build 55,它就会运行得很顺利。所以我构建了另一个,里面有一些修复,并在试飞中进行了尝试,所以现在构建55-56更新。它运行平稳Ios 在testflight上从旧版本更新到新版本时应用程序崩溃,ios,objective-c,crash,testflight,Ios,Objective C,Crash,Testflight,我创建了一个应用程序,当在testflight上尝试从构建54升级到55时,它会崩溃。但是如果我先删除应用程序,然后安装build 55,它就会运行得很顺利。所以我构建了另一个,里面有一些修复,并在试飞中进行了尝试,所以现在构建55-56更新。它运行平稳 所以问题是,当从54岁更新到55岁时,这里有没有人有过同样的问题 通常情况下,如果您在更新时而不是在新安装时发生崩溃,这意味着您有一些与已更新应用程序的状态不兼容的持久数据 最常见的情况是: 数据库数据未正确迁移(或根本未迁移);可能在两次更
所以问题是,当从54岁更新到55岁时,这里有没有人有过同样的问题 通常情况下,如果您在更新时而不是在新安装时发生崩溃,这意味着您有一些与已更新应用程序的状态不兼容的持久数据 最常见的情况是:
- 数据库数据未正确迁移(或根本未迁移);可能在两次更新之间,某些字段在代码中发生了更改,并且与较旧的数据库版本不兼容
- keychain和/或userdefaults中的键和值。与数据库相同,您的代码需要一些值,但以前版本的文件不知道这些值
- 档案。您可能正在编写/期望某些文件以特定方式格式化,或包含特定数据。但是早期版本的用户可能没有这些文件,因此会导致崩溃
迁移并非易事。需要大量的测试和数据处理。我强烈建议您在投入生产之前使用单元测试来完成这类工作。崩溃说明了什么?您使用的是数据库吗?迁移呼叫!userdefaults值或与之相关的任何内容的更改。。。最合适的解决方案是,如果您在54之前提交代码,然后在54之后尝试安装54,那么您就会知道问题出在哪里related@dreamBegin你是说54然后55然后56?我明天会试试这个,希望可以在模拟器中模拟。我是这个项目的一个新开发人员,所以明天我会跟踪它。是的,我上次让它工作是因为NSUserDefault。谢谢你,吉尔!