iOS 捕获崩溃

2022-11-07  本文已影响0人  码代码的鱼

用苹果提供的api NSSetUncaughtExceptionHandler进行捕获


void CustomExceptionHandlers(NSException *exception){

    NSMutableDictionary *userInfo= [NSMutableDictionary dictionaryWithDictionary:[exception userInfo]];

    [userInfo setObject:exception.callStackSymbols forKey:@"CallstackSymbolsKey"];

    [userInfo setObject:[exception name] forKey:@"NameKey"];

    [userInfo setObject:[exception reason] forKey:@"ReasonKey"];

    NSLog(@"%@",userInfo);

    //可以在这个位置进行一些操作,比如保存或上传等,可以将堆栈信息一起上传

}

+(void)uncaughtSignalExceptionHandler {

    NSSetUncaughtExceptionHandler(&CustomExceptionHandlers);

}

uncaughtSignalExceptionHandler 可在项目启动时进行调用

上一篇 下一篇

猜你喜欢

热点阅读