这是去年的一段代码,我记忆中应该是从唐巧大大那看到的,帮我解决了不少项目崩溃但是却没有返回数据的Bug。
此方法是写在AppDelegate中的,下面直接上代码:
注:并不能捕获所有情况下的数据,还是没有用的话,摸个头好了。。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [[TabBarViewController alloc] init];
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
//错误时回调此方法
[self.window makeKeyAndVisible];
return YES;
}
void uncaughtExceptionHandler(NSException *exception) {
//崩溃事件
NSLog(@"CRASH: %@", exception);
//调用堆栈状态
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
感谢观看,学以致用更感谢。