zoukankan      html  css  js  c++  java
  • 腾讯Bugly异常崩溃SDK接入

    首先登入Bugly,创建应用,记录下AppId

    ①下载SDK,通过Cocoapods集成

    pod 'Bugly'                                                                    #腾讯异常崩溃日志服务

    ②导入头文件,并初始化

         /** 腾讯Bugly */
        #import <Bugly/Bugly.h>
        //腾讯 bugly初始化
        BuglyConfig * config = [[BuglyConfig alloc] init];
        //Debug信息开关
        config.debugMode = YES;
        config.channel = @"CallShow";
        //卡顿监控开关
        config.blockMonitorEnable = YES;
        //非正常退出事件记录开关
        config.unexpectedTerminatingDetectionEnable = YES;
        //设置自定义日志上报的级别,默认不上报自定义日志
        config.reportLogLevel = BuglyLogLevelWarn;
        config.version = HKBuildVersion;
        [Bugly startWithAppId:BUGLY_APP_ID config:config];

    ③设置用户唯一标识

    [Bugly setUserIdentifier:accountInfo.openId];

    ④手动报告异常信息

     //开启异常捕捉
     NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    void uncaughtExceptionHandler(NSException*exception){
        [Bugly setTag:10086];
        [Bugly reportException:exception];
        // 可以通过exception对象获取一些崩溃信息,我们就是通过这些崩溃信息来进行解析的,例如下面的symbols数组就是我们的崩溃堆栈。
        NSArray  *callStack = [exception callStackSymbols];
        
        NSString *reason = [exception reason];
        
        NSString *name = [exception name];
        
        NSString *dateString = [NSString getTimeStamp];
        
        NSString *systemName = [[UIDevice currentDevice] systemName];//系统
        
        NSString *deviceModel = [[UIDevice currentDevice] model];//设备
        
        NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
        
        NSString *bundleIdentifier = infoDict[@"CFBundleIdentifier"];
        
        NSString* versionNum = [infoDict objectForKey:@"CFBundleShortVersionString"];
        
        NSMutableString *systemNameVersion = [[NSMutableString alloc] initWithFormat:@"%@ %@",[[UIDevice currentDevice] systemName],[[UIDevice currentDevice] systemVersion]];//手机系统版本
        //NSString *content = [NSString stringWithFormat:@"%@%@",callStack,systemNameVersion];
        NSString *content = [NSString stringWithFormat:@"
    
    
    ========异常错误报告========
    错误时间:%@ 系统:%@ 设备:%@ 手机系统版本:%@ 
    当前版本:%@ 当前唯一标示符:%@
    
    错误名称:%@
    错误原因:
    %@
    callStackSymbols:
    %@
    
    ========异常错误结束========
    ",dateString,systemName,deviceModel,systemNameVersion,versionNum,bundleIdentifier,name,reason,[callStack componentsJoinedByString:@"
    "]];
        HKLog(@"CRASH: %@", content);
        // Internal error reporting
    }

    ⑤编写Crash测试代码

    - (void)crashTest {
        NSArray *ary = [NSArray arrayWithObjects:@"dsfs", @"dsfsd", nil];
        NSLog(@"%@", ary[4]);  // 会触发 uncaughtExceptionHandler 方法
    }

    ⑥网址

    https://bugly.qq.com/v2/index

    https://bugly.qq.com/docs/user-guide/advance-features-ios/?v=20181014122344

     

  • 相关阅读:
    mininet 多径传输网络仿真
    mininet 多径仿真双路由双网卡
    mininet仿真星型拓扑
    mininet 三个路由器两个终端的仿真
    mininet 两个路由器两个终端仿真
    mininet 仿真一个路由器两个终端
    mininet 两个交换机两个终端的仿真
    mininet 一个交换机两个终端的仿真
    ps命令
    df命令
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Bugly.html
Copyright © 2011-2022 走看看