前言
引用腾讯Bugly首页文字:“一种愉悦的开发方式”——腾讯Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。
一、常规集成
1.登录bugly 官网创建产品
获取应用的App ID 和 App Key。
2.CocoaPods集成
pod 'Bugly'
3.初始化SDK
AppDelegate中导入
#import <Bugly/Bugly.h>
如果是Swift工程,请在对应bridging-header.h中导入
在工程AppDelegate.m的application:didFinishLaunchingWithOptions:方法中初始化:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Bugly startWithAppId:@"此处替换为你的AppId"];
return YES;
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Bugly.startWithAppId("此处替换为你的AppId”)
return true
}
至此集成完毕。但是很多bug并不能定位具体的类和方法。我们需要配置符号表。
二、配置符号表
1.什么是符号表
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名:行号>]
2.为什么要配置符号表
为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。
举一个例子:
3.具体步骤
(1)下载符号表工具
内部包含“符号表上传工具使用说明”。
(2)获取dSYM文件
在AppConnect里找到构建的版本,下载dYSM。
(3)生成和上传
把下载的dSYM文件和符号表工具放在同一文件夹中(buglyqq-upload-symbol ),执行以下操作
cd /Users/luomeng/Desktop/buglyqq-upload-symbol
java -jar buglyqq-upload-symbol.jar -appid <App ID> -appkey <App Key> -bundleid <bundle id> -version <版本号> -platform IOS -inputSymbol <原始符号表dsym所在文件夹目录地址>
注意:运行需要java运行环境,且version 必须为1.8,不然会报错。