不需要通過dSYM來符號化crash陨享。
注冊監(jiān)控:
void InstallUncaughtExceptionHandler(void)
{
NSSetUncaughtExceptionHandler(&HandleException);
}
監(jiān)控處理:
void HandleException(NSException *exception)
{
// 異常的堆棧信息
NSArray *stackArray = [exception callStackSymbols];
// 出現(xiàn)異常的原因
NSString *reason = [exception reason];
// 異常名稱
NSString *name = [exception name];
NSString *exceptionInfo = [NSString stringWithFormat:@"Exception name:%@\nException reason:%@\nException stack:%@",name, reason, stackArray];
NSLog(@"%@", exceptionInfo);
[UncaughtExceptionHandler saveCreash:exceptionInfo];
}
通過這種方式就可以拿到crash信息了房维,再把crash信息存儲到文件里,app啟動時上報到服務器即可。上報完成,刪除本地crash日志就可以了势篡。