iOS专题

iOS Bugly集成

2022-04-12  本文已影响0人  朱朱001

前言

引用腾讯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的程序堆栈进行解析和还原。
举一个例子:


为什么要配置符号表.png

3.具体步骤

(1)下载符号表工具
符号表工具目录.png

内部包含“符号表上传工具使用说明”。

(2)获取dSYM文件

在AppConnect里找到构建的版本,下载dYSM。


下载dYSM.png
(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,不然会报错。

(4)下面是 crash 的堆栈解析截图
解析图.png
上一篇下一篇

猜你喜欢

热点阅读