iOS - 在更新期间调试 NSUserDefault 崩溃的任何建议
iOS - Any advice in order to debug NSUserDefault crashes during an Update
我们已经在 AppleStore 上发布了更新,以修复一些错误。
我们有很多用户在更新应用程序后启动应用程序时崩溃。
如果他们卸载应用程序并重新下载,一切正常。
在分析了一些崩溃报告和 Crashlytics 仪表板后,我们得出结论,我们应用程序中的一个特定库是 checking/setting NSUserDefault 中的 "First Launch Date"。
加上 uninstalling/installing 之后一切正常,我推断问题出在 NSUserDefault。
脑子里有几个问题,手忙脚乱不知如何是好。
我可以做什么来修复它?
我在两次更新之间的开发过程中没有操作 NSUserDefault。
我可以制作数据库的 "diff" 以便比较状态和这些更新之间可能发生的任何修改吗?
我应该重置数据库吗?
我们无法重现崩溃(尽管我们的大多数用户在第一次安装后尝试过崩溃)并且 Testflight 不代表真实的更新情况,因为我们所有的测试人员都验证了更新,完全没有问题。
我想到的解决方案是从商店发布以前版本的新更新,但我如何确保 NSUserDefault 不会在此期间使应用程序崩溃 "roll back"。
我的意思是如果问题来自数据库的状态或 nil
价值。该库已有 2 年历史,不再更新,但我们
从未经历过此库的任何崩溃。
我会采取任何 advice/informations 来完成事情和清洁。
一个想法是调整 NSUserDefaults
方法来尝试捕获或至少记录问题。您可以调整 -[NSUserDefaults setObject:forKey:]
并检查输入是否为 safe/sane,如果不是则丢弃它。
我们已经在 AppleStore 上发布了更新,以修复一些错误。
我们有很多用户在更新应用程序后启动应用程序时崩溃。
如果他们卸载应用程序并重新下载,一切正常。
在分析了一些崩溃报告和 Crashlytics 仪表板后,我们得出结论,我们应用程序中的一个特定库是 checking/setting NSUserDefault 中的 "First Launch Date"。
加上 uninstalling/installing 之后一切正常,我推断问题出在 NSUserDefault。
脑子里有几个问题,手忙脚乱不知如何是好。
我可以做什么来修复它?
我在两次更新之间的开发过程中没有操作 NSUserDefault。
我可以制作数据库的 "diff" 以便比较状态和这些更新之间可能发生的任何修改吗?
我应该重置数据库吗?
我们无法重现崩溃(尽管我们的大多数用户在第一次安装后尝试过崩溃)并且 Testflight 不代表真实的更新情况,因为我们所有的测试人员都验证了更新,完全没有问题。
我想到的解决方案是从商店发布以前版本的新更新,但我如何确保 NSUserDefault 不会在此期间使应用程序崩溃 "roll back"。 我的意思是如果问题来自数据库的状态或 nil 价值。该库已有 2 年历史,不再更新,但我们 从未经历过此库的任何崩溃。
我会采取任何 advice/informations 来完成事情和清洁。
一个想法是调整 NSUserDefaults
方法来尝试捕获或至少记录问题。您可以调整 -[NSUserDefaults setObject:forKey:]
并检查输入是否为 safe/sane,如果不是则丢弃它。