我的应用程序中有一个视图,上面写着“抱歉崩溃,请重新启动应用程序”,我想在崩溃后显示它。那么有什么一般的方法可以检测即将发生的崩溃并在它之前显示视图吗?
谢谢。
答案 0 :(得分:1)
我对此表示怀疑。崩溃是一次崩溃。你能做的最好的事情就是在main.m中包装你的代码@ try / catch,但是我不推荐它,也不会发现严重的错误。当用户离开时,iPhone用户会识别崩溃。我愿意打赌,显示一个特殊的崩溃视图对用户来说会更加烦人,就像你期望崩溃一样,你甚至做了一个屏幕! ;-)用户将变得讨厌那个屏幕。
推荐的是捕获崩溃,然后在用户下次运行应用程序时,您可以说“我们看到您的应用程序已崩溃”并且可能会发送堆栈跟踪转储到亲爱的,你可以看到发生了什么。您可以通过在app delegate中定义此方法来处理崩溃:
void uncaughtExceptionHandler(NSException *exception) {
// save exception to file
}
在didFinishLaunching方法中调用此方法:
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
下次他们启动应用程序时,检查该文件是否存在,发送它。
答案 1 :(得分:1)
可以推荐此Cocoa With Love博客post。它有一个你可以学习的示例项目。