JJException防崩溃+Bugly上报异常

1.cocoapods安装以下类库

pod 'JJException'

 遵循协议 JJExceptionHandle

 

pod 'Bugly', '~> 2.5.71'

 

2.AppDelegate 导入头文件

#import <JJException.h>
#import <Bugly/Bugly.h>

 

3. didFinishLaunchingWithOptions 正式环境开启防崩溃

配置

    #ifdef RELEASE
    // 开启防崩溃
    [JJException configExceptionCategory:JJExceptionGuardAll];
    [JJException startGuardException];
    [JJException registerExceptionHandle:self];
    #endif

配置bugly

    //配置bugly(模拟器和debug 不上传bug)
#ifndef DEBUG
    if (![[UIDevice currentDevice] isSimulator]) {
        [self configBugly];
    }
#endif

 

- (void)setBuglyUserInfo {
    [Bugly setUserIdentifier:@"传用户id"];
    [Bugly setUserValue:@"传用户手机号" forKey:@"UserMobile"];
    [Bugly setUserValue:@"传用户名" forKey:@"UserName"];
    [Bugly setUserValue:@"传正式环境还是测试环境" forKey:@"Environment"];
}

- (void)configBugly {
    [self setBuglyUserInfo];
    //用户登录成功后 需要重新上传userid 需要发送通知 这边才能更新 注意注意
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setBuglyUserInfo) name:kLoginSuccessNotification object:nil];
    //初始化 Bugly 异常上报
    BuglyConfig *config = [[BuglyConfig alloc] init];
    config.debugMode = NO;
    config.reportLogLevel = BuglyLogLevelVerbose;
    [Bugly startWithAppId:@"传bugly申请的应用appid"
#ifndef RELEASE
        developmentDevice:YES
#endif
                   config:config];
}

 

 

在代理方法里上报异常

//JJException 防崩溃代理
- (void)handleCrashException:(nonnull NSString *)exceptionMessage extraInfo:(nullable NSDictionary *)info {
    NSLog(@"App Crash------------ %@", [NSException exceptionWithName:@"AvoidCrash" reason:exceptionMessage userInfo:info]);
    
    [Bugly reportException:[NSException exceptionWithName:@"AvoidCrash" reason:exceptionMessage userInfo:info]];
}

 

posted @ 2021-09-01 09:27  黄增松  阅读(596)  评论(0编辑  收藏  举报