iOS Crash

不需要通过dSYM来符号化crash。

注册监控:

void InstallUncaughtExceptionHandler(void)
{
    
    NSSetUncaughtExceptionHandler(&HandleException);
    
}

监控处理:

void HandleException(NSException *exception)
{
    
    // 异常的堆栈信息
    NSArray *stackArray = [exception callStackSymbols];
    
    // 出现异常的原因
    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日志就可以了。

demo地址

更新时间2018-09-10

你可能感兴趣的:(iOS Crash)