用蘋(píng)果提供的api NSSetUncaughtExceptionHandler進(jìn)行捕獲
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);
//可以在這個(gè)位置進(jìn)行一些操作防泵,比如保存或上傳等,可以將堆棧信息一起上傳
}
+(void)uncaughtSignalExceptionHandler {
NSSetUncaughtExceptionHandler(&CustomExceptionHandlers);
}
uncaughtSignalExceptionHandler 可在項(xiàng)目啟動(dòng)時(shí)進(jìn)行調(diào)用