- (void)applicationWillTerminate:(UIApplication *)application {

  NSLog(@"Application is terminating now.");
}

当应用程序将要终止时,将调用此函数,而我添加此函数只是为了向我的问题添加一些代码行。在iOS中,当某个应用程序在某个阶段崩溃且我们无法正确处理这种情况时,它将设置用户移至主屏幕(该崩溃的应用程序之外)。
在android中,我已经在大多数应用程序中看到,如果有人没有处理崩溃的情况,它将用户设置为移动到主屏幕。
当发生崩溃时,应该有任何可以调用的方法,我们可以在该阶段调用firstView。
到目前为止,我还没有在 objective-c / swift中找到该方法/委托。
如果有人知道,您可以在这里回答。
注意:请勿建议使用
@try {

 } @catch (NSException *exception) {

} @finally {

}

正如我所询问的那样,我已经正确处理了几乎所有异常情况,但在某些情况下失败或其他问题时,问应用程序在任何设备上崩溃是什么解决方法?

最佳答案

您可以使用NSSetUncaughtExceptionHandler捕获导致崩溃的异常,如下所示:

func exceptionHandler(exception : NSException) {
   // Do something before the app is automatically terminated
   print(exception.callStackSymbols)
}

NSSetUncaughtExceptionHandler(exceptionHandler)

在崩溃之后和强制关闭应用程序之前,将立即调用此处理程序。
您将无法停止应用程序的崩溃,但至少您可以获取调用堆栈并将其用于记录日志并查明发生了什么!

10-05 21:17
查看更多