iOS-Bugly使用

作者: yuyangkk | 来源:发表于2017-06-16 15:54 被阅读332次

    前言

    由于前期赶项目,所以在项目中难免多了一些bug,最近项目闲了下来,为了能够快速定位到线上版本bug位置,经过比较之后,决定使用腾讯家的Bugly。
      **keywords **: Bugly、集成Bugly、Bugly使用、腾讯Bugly

    登录账号

    1. 浏览器中打开Bugly点我进入Bugly
    2. 使用QQ或者邮箱登录,如果没有请先注册。

    创建程序

    • 新建产品

      点击新建产品


      create.png
    • 实名认证

      如果没有实名认证,请先认证。


      realName.png
    • 创建应用

    输入相关信息,点击保存


    new.png
    • 查看应用

      在我的产品中,可以看到刚才创建的应用,点击设置,获取应用的AppID,AppKey


      productlist.png
    setting.png

    集成Bugly

    具体可参考Bugly-iOS官方文档,这里只介绍cocoaPods方式集成

    • 如果未安装cocoaPods,请自行百度/Google
    • 如果更新cocoaPods,请参考我的另外一篇文章cocoapods更新
    • 如果已安装cocoaPods
      • 在podfile文件中加入
      pod 'Bugly'
      
      • 控制台查询bugly版本
      pod search Bugly  //如果和官方最新版不一致,请执行下面的代码
      
    pod update //更新pod资源库,如果一致,可执行 pod --verbose --no-repo-update
    
    • Appdelegate中代码中集成
    //Bugly
    - (void)configureBugly {
        BuglyConfig *config = [[BuglyConfig alloc] init];
        
        config.unexpectedTerminatingDetectionEnable = YES; //非正常退出事件记录开关,默认关闭
        config.reportLogLevel = BuglyLogLevelWarn; //报告级别
        //config.deviceIdentifier = [UIDevice currentDevice].identifierForVendor.UUIDString; //设备标识
        config.blockMonitorEnable = YES; //开启卡顿监控
        config.blockMonitorTimeout = 5; //卡顿监控判断间隔,单位为秒
    //    config.delegate = self;
        
    #if DEBUG
        config.debugMode = YES; //SDK Debug信息开关, 默认关闭
        config.channel = @"debug";
    #else
        config.channel = @"release";
    #endif
        
        [Bugly startWithAppId:TY_BUGLY_APP_ID
    #if DEBUG
            developmentDevice:YES
    #endif
                       config:config];
    }
    

    如果实现了BuglyDelegate

    #pragma mark - BuglyDelegate
    //此方法返回的数据,可在bugly平台中异常上报,具体异常信息的跟踪数据附件信息中的crash_attach.log中查看
    -(NSString *)attachmentForException:(NSException *)exception{
    //    [Bugly reportException:exception];
        return [NSString stringWithFormat:@"exceptionInfo:\nname:%@\nreason:%@",exception.name,exception.reason];
    }
    

    到这里,Bugly就已经集成成功了,如果程序再出现bug,就可以在管理平台上看到,下面是我测试数据

    testEx.png
    点击进入其中一个异常,可以发现具体的异常问题,和出错类名及方法名,向下翻还可以看到出错手机信息以及堆栈信息。
    ex-des.png
    细心的朋友可能会发现,这里只看到了堆栈信息,但是具体错在哪一行,我们并不知道,原因上面写说的很清楚,因为我们没有配置该版本的符号表文件,点击配置,你可以选择下载符号表工具,或者查看自动上传符号文件
    test2.png test3.png
    1. 自动上传符号表
    1. 点击下载符号表工具,解压获得
    • buglySymboliOS.jar
    • dSYMUpload.sh
    1. 将解压后的文件,放到指定位置
    jar.png
    test5.png
    1. 配置脚本信息
      打开dSYMUpload.sh,配置好你的Bugly的AppID, APPKey, 以及应用的Bundle id,复制全部


      sh.png
    2. 打开Xcode》Build Phases,添加运行脚本


      test6.png
    3. 查看自己电脑是否已经安装Java环境,控制台中输入

    java_install.png
    • 如果可以获取到Java版本,则配置到此结束。
    • 如果出现No Java,说明电脑没有安装Java环境,请下载java环境。安装成功后,再进行测试,就可以看到详细信息了。
    test7.png

    自此,大功告成,现在可以自己再写个数组越界的bug,再次测试,就可以发现已经可以确定Bug行数了。

    2. 当然你可以手动上传符号表

    请参考符号表获取方法

    相关文章

      网友评论

      • 红发_KVO:你好,这样配置完还是提示没有符号表,我直接把生成的.app里面的 dSYM拖到上传那里才可以?请问是这样的操作吗?
        yuyangkk:@红发_KVO Java环境这些都是正常的?在Bugly开发平台-》你的引用-》崩溃列表-》具体某个异常信息详情中-》下拉有个符号表,看看上面有没有上传你的UUID?
        红发_KVO:@Caesar大帝归来 我试过了,不上传哪个 dYSM 的话,一直提示没配置,没有符号表
        yuyangkk:@红发_KVO 这个是用脚本自动上传的,你可以在bugly 里面看得到,当你的程序发生异常的时候

      本文标题:iOS-Bugly使用

      本文链接:https://www.haomeiwen.com/subject/xjkuqxtx.html