前言
由于前期赶项目,所以在项目中难免多了一些bug,最近项目闲了下来,为了能够快速定位到线上版本bug位置,经过比较之后,决定使用腾讯家的Bugly。
**keywords **: Bugly、集成Bugly、Bugly使用、腾讯Bugly
登录账号
- 浏览器中打开Bugly点我进入Bugly。
- 使用QQ或者邮箱登录,如果没有请先注册。
创建程序
-
新建产品
点击新建产品
create.png -
实名认证
如果没有实名认证,请先认证。
realName.png -
创建应用
输入相关信息,点击保存
new.png
-
查看应用
在我的产品中,可以看到刚才创建的应用,点击设置,获取应用的AppID,AppKey
productlist.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,就可以在管理平台上看到,下面是我测试数据
点击进入其中一个异常,可以发现具体的异常问题,和出错类名及方法名,向下翻还可以看到出错手机信息以及堆栈信息。
ex-des.png
细心的朋友可能会发现,这里只看到了堆栈信息,但是具体错在哪一行,我们并不知道,原因上面写说的很清楚,因为我们没有配置该版本的符号表文件,点击配置,你可以选择下载符号表工具,或者查看自动上传符号文件
test2.png test3.png
1. 自动上传符号表
- 点击下载符号表工具,解压获得
- buglySymboliOS.jar
- dSYMUpload.sh
- 将解压后的文件,放到指定位置
test5.png
-
配置脚本信息
打开dSYMUpload.sh,配置好你的Bugly的AppID, APPKey, 以及应用的Bundle id,复制全部
sh.png -
打开Xcode》Build Phases,添加运行脚本
test6.png -
查看自己电脑是否已经安装Java环境,控制台中输入
- 如果可以获取到Java版本,则配置到此结束。
- 如果出现No Java,说明电脑没有安装Java环境,请下载java环境。安装成功后,再进行测试,就可以看到详细信息了。
自此,大功告成,现在可以自己再写个数组越界的bug,再次测试,就可以发现已经可以确定Bug行数了。
2. 当然你可以手动上传符号表
请参考符号表获取方法。
网友评论