iOS-Bugly使用

前言

由于前期赶项目,所以在项目中难免多了一些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. 当然你可以手动上传符号表

请参考符号表获取方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,085评论 25 708
  • 我们都渴望能有一份真正举案齐眉、琴瑟和谐、天长地久的感情,但是当我们没这个幸运的时候,就要去修炼我们内心的格局。 ...
    运安阁主阅读 523评论 0 0
  • 这个秋天的清晨,天方才微微亮起来,老师和同学一句轻轻的召唤,我便重新回到了紫贝文学社。1995-1997,隔了近2...
    紫娃阅读 616评论 0 1
  • 胡朝芳阅读 172评论 0 0
  • 今天是挑战川藏线第三天,一大早客栈柯大侠就把热腾腾的鸡蛋热汤面端了上来,大家吃饱喝足开拨。 今天的骑行攻略是上坡跨...
    刺虎从头越阅读 363评论 0 0