我已经调试了一段时间的应用程序,并准备将其上传到应用程序商店。但是,我仍然偶尔遇到难以复制或调试的崩溃,例如按怪异的顺序按下按钮时。如果我将这些序列记下来,则可以调试,但不可避免地会在没有记下来的情况下发生,并且很难复制。
我知道我只需要每天打电话给它,就可以在以后的错误修复中保留下一个版本。我删除了我在测试中拥有的所有abort()语句。但是,偶尔会出现崩溃,而不是让您仅关闭应用程序然后重新打开,而导致崩溃,而无需重新安装就无法打开应用程序。例如,这只是发生了
这是由于在后台同步到云期间切换VC所致。
我可能会遇到崩溃,您只需要重新打开它即可,而不会导致应用程序无法使用的崩溃。是否有针对崩溃类型的准则,以帮助您专注于真正致命的崩溃?
还是有什么办法可以防止应用程序崩溃?
最佳答案
您应该只解决此问题。由于您具有带有该错误消息的崩溃日志,因此您知道哪种方法都可以引发问题,因此即使问题前后矛盾地和/或以多种方式表现出来,您也都有了很好的解决之道。
但是,偶尔出现的车祸给您带来的不便似乎并不太多,但这是获得1星级评论和不满意客户的最快方法。我怀疑您会后悔发布具有已知的,容易复制的崩溃的应用程序。
但是,一些观察:
它可能会帮助您识别并更轻松地重现此类问题。而且,您越容易重现问题,就越容易解决问题。
听起来“保存”操作以某种内部不一致的方式将结果保留在持久性存储中。以下任何一项都可以帮助您,尽管我建议您在可能的情况下全部执行三项操作:
atomic
保存操作,这样,如果操作中途失败,则不会使它处于不一致的状态。在看不到说明如何保存结果的代码段的情况下,我们不能建议应该如何做,但这通常是一个选择; 关于ios - 避免致命的崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49989173/