我的应用程序中有一个 View ,上面写着“抱歉崩溃,请重新启动应用程序”,我想在崩溃后显示它。那么有什么通用方法可以检测到即将发生的崩溃并在它发生之前显示 View ?
谢谢你。
最佳答案
我对此表示怀疑。崩溃就是崩溃。您能做的最好的事情就是在 main.m 中将 @try/catch 包裹在您的代码周围,但我不推荐它,它也不会捕获严重的错误。当应用程序消失时,iPhone 用户会识别崩溃。我敢打赌,显示崩溃的特殊 View 会让用户更加恼火,就好像您期望崩溃甚至制作了屏幕一样! ;-) 用户会越来越讨厌那个屏幕。
建议捕获崩溃,然后在用户下次运行应用程序时,您可以说“我们看到您的应用程序已崩溃”,并且可能将堆栈跟踪的转储发送给您自己,以便您查看发生了什么。您可以通过在应用程序委托(delegate)中定义此方法来处理崩溃:
void uncaughtExceptionHandler(NSException *exception) {
// save exception to file
}
并在您的 didFinishLaunching 方法中调用此方法:
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
下次他们启动应用程序时,检查该文件,如果存在,发送它。
关于崩溃前的 iPhone 自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652316/