常用开发工具🛠IOS开发

iOS Bugly接入

2022-04-27  本文已影响0人  心猿意码_
一、官网注册Bugly,获取APP ID,APP Key
二、 集成Bugly
pod 'Bugly'
三、Appdelegate中代码集成
#import "AppDelegate.h"
#import <Bugly/Bugly.h>

@interface AppDelegate ()<BuglyDelegate>

@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [self configureBugly];
    return YES;
}

//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 = 1; //卡顿监控判断间隔,单位为秒
    config.delegate = self;
#if DEBUG
    config.debugMode = YES; //SDK Debug信息开关, 默认关闭
    config.channel = @"debug";
#else
    config.channel = @"release";
#endif
    [Bugly startWithAppId:@"25b2a84e03"
#if DEBUG
        developmentDevice:YES
#endif
        config:config];
}

#pragma mark - BuglyDelegate
//此方法返回的数据,可在bugly平台中异常上报,具体异常信息的跟踪数据附件信息中的crash_attach.log中查看
- (NSString *)attachmentForException:(NSException *)exception{
    return [NSString stringWithFormat:@"exceptionInfo:\nname:%@\nreason:%@",exception.name,exception.reason];
}

@end
四、自动导入符号表

此时,Bugly已经接入,在程序出现问题的时候可以在Bugly官网产品里面查看问题定位,但是要精确定位到崩溃的方法和崩溃代码的具体行数,就要导入符号表了.

  1. 首先下载自动配置符号表 符号表下载
    下载的内容里面包括:
    buglySymboliOS.jar
    dSYMUpload.sh
  2. 接着安装JAVA环境 (自己在网上找了一个下载地址,也可到JDK官网下载) JDK1.8下载

Tips:上传符号表为什么需要java环境?
因为符号表提取工具依赖于java环境,符号表工具只提取必要的信息,可以大幅度减少需要上传的文件体积

3.将下载的文件buglySymboliOS.jar放在用户目录的bin文件下(如果没有请自行创建)


2887690-5c04ac9aee87d7fb.png

4.编辑dSYMUpload.sh文件,修改其中的APP ID , APP Key, Bundle identifier


2887690-e86d599fef61ac20.png

5.复制粘贴dSYMUpload.sh文件的内容在Xcode中导入运行就可以啦.
在 Xcode ->Targets->Builds Phases


2887690-edf79416c521b260.png

6.效果图如下
举个栗子:我的报错信息是 数组越界,代码定位在类ViewController的Crash方法中


image.png
五、写在最后 (遇到的问题) :

Q:小编想要在Debug环境下测试Bugly是否会正常上报信息?
A:

  1. 首先我们要知道Bugly默认在release环境下上报信息,在Debug模式下不上传;如果想修改,就在图2的dSYMUpload.sh文件里面修改Debug模式下正常上传的字段UPLOAD_DEBUG_SYMBOLS=1

  2. 修改Xcode->Targets->Build Settings->Debug information Format的Dug为 DWARFwithdSYM File
    如下图所示:

    image

Demo地址
https://gitee.com/shouny/bugly-demo.git

上一篇 下一篇

猜你喜欢

热点阅读