NSSetUncaughtExceptionHandler可以用来处理异常崩溃。崩溃报告系统会用NSSetUncaughtExceptionHandler方法设置全局的异常处理器。
1、在AppDelegate.m添加方法:
void getCrashExceptionHandler(NSException *exception) {
NSLog(@"\n callStackSymbols:%@\n reason:%@\n name:%@",[exception callStackSymbols];, [exception reason], [exception name]);
}
2、在AppDelegate.m的didFinishLaunchingWithOptions代理方法中调用getCrashExceptionHandler方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSSetUncaughtExceptionHandler(&getCrashExceptionHandler);
//其他正常处理
return YES;
}
(注:如果自定义NSSetUncaughtExceptionHandler监听事件,会导致Bugly等第三方监听失效。)
这里游奔溃的详细讲解。可查阅。