【问题标题】:App crash after Appstore update应用商店更新后应用崩溃
【发布时间】:2025-12-02 22:10:02
【问题描述】:

我们向 Appstore 发布了应用程序的更新,新版本在模拟器和我们的开发设备上运行良好,但如果您从 Appstore 进行更新,应用程序在启动时崩溃除非您删除它并重新安装它。您只能看到开始屏幕,1 秒后应用程序崩溃。我搜索了其他主题,发现它可能是核心数据迁移,但我们仅将核心数据与 InMemoryStore 一起使用。是否需要迁移数据库?

【问题讨论】:

  • -application:didFinishLaunchingWithOptions: 方法中,是否为keyWindow 设置了rootViewController?还是只是 addSubView 到窗口?
  • 不,我使用storyboard来设置rootViewController
  • 你只是在猜测导致崩溃的原因,你真的不知道。您需要获取一些崩溃日志并对其进行符号化以找出崩溃发生的位置。假设您在没有证据的情况下知道导致崩溃的原因完全是浪费您的时间。

标签: ios core-data app-store app-startup


【解决方案1】:

如果您更改了 Core Data 的数据模型,那么您需要迁移数据库。否则,当您尝试使用 Core Data 时,它会使应用程序崩溃。如果您的数据模型没有改变,那么问题就出在其他地方。

【讨论】:

  • 好的,谢谢,我们更改了数据模型,但我们只在内存存储中使用,并且在应用关闭时不保存任何数据...是否也需要迁移?
  • 最好的判断方法是在设备上加载旧版本的应用程序,运行它,然后调试新版本,看看错误输出是什么。如果是数据模型,则输出“打开商店的模型与创建商店的模型不兼容”。
  • 我尝试了几次,但没有出现错误。仅当我从 Appstore 更新它时才会出现该错误,但我无法再重新创建它,因为我没有具有旧版本应用程序的设备来尝试更新。
  • 您是否在代码中的任何位置使用 NSManagedObjectContext 来实例化内存中的 Core Data 对象?如果是这样,那么模型就是问题所在。
  • *"我无法再重新创建它,因为我没有安装旧版本应用程序的设备来尝试更新。"那么你需要得到一个。从设备中删除应用程序,重新安装旧应用程序,然后进行更新。您需要观察发生的情况才能发现问题。
最近更新 更多