Bugly介绍
腾讯Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。
异常上报:专业、全面的异常监控和解决方案,可以让您及时发现应用的异常,并通过丰富的现场信息帮您快速定位和解决问题。
运营统计:提供全面的移动应用运营统计数据,帮助团队统计和分析产品运营数据,了解用户行为,改善产品体验。
应用升级:提供完整的应用升级解决方案,通过热更新 & 弹窗提醒方式及时修复线上 Bug,提升新版本升级率。
二、登录账号
浏览器中打开Bugly点我进入Bugly。
使用QQ或者邮箱登录,如果没有请先注册。
三、创建程序
1、新建产品
点击新建产品
image.png
2、实名认证
如果没有实名认证,请先认证。
image.png
3、创建应用
输入相关信息,点击保存
image.png
4、查看应用
在我的产品中,可以看到刚才创建的应用,点击设置,获取应用的AppID,AppKey
image.png
image.png
四、集成Bugly
具体可参考Bugly-iOS官方文档,这里只介绍cocoaPods方式集成
- 如果未安装cocoaPods,请自行百度/Google
- 如果更新cocoaPods,请参考我的另外一篇文章cocoapods更新
- 如果已安装cocoaPods
在podfile文件中加入
pod 'Bugly'
控制台查询bugly版本
//如果和官方最新版不一致,请执行下面的代码
pod search Bugly
//更新pod资源库,如果一致,可执行 pod --verbose --no-repo-update
pod 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,就可以在管理平台上看到,下面是我测试数据
image.png
点击进入其中一个异常,可以发现具体的异常问题,和出错类名及方法名,向下翻还可以看到出错手机信息以及堆栈信息。
image.png
细心的朋友可能会发现,这里只看到了堆栈信息,但是具体错在哪一行,我们并不知道,原因上面写说的很清楚,因为我们没有配置该版本的符号表文件,点击配置,你可以选择下载符号表工具,或者查看自动上传符号文件
image.png
image.png
五、自动上传符号表
1、点击下载符号表工具,解压获得
- buglySymboliOS.jar
- dSYMUpload.sh
2、将解压后的文件,放到指定位置
image.png
image.png
3、配置脚本信息
打开dSYMUpload.sh,配置好你的Bugly的AppID, APPKey, 以及应用的Bundle id,复制全部
image.png
4、打开Xcode》Build Phases,添加运行脚本
image.png
5、查看自己电脑是否已经安装Java环境,控制台中输入
image.png
- 如果可以获取到Java版本,则配置到此结束。
- 如果出现No Java,说明电脑没有安装Java环境,请下载java环境。安装成功后,再进行测试,就可以看到详细信息了。
image.png
自此,大功告成!
6、当然你可以手动上传符号表
请参考符号表获取方法。