iOS Bugly接入

作者: 心猿意码_ | 来源:发表于2022-04-27 09:43 被阅读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

相关文章

  • iOS 接入Bugly崩溃统计时编译报错:Framework n

    iOS崩溃统计-Bugly接入 iOS符号表- Bugly文档 接入Bugly-v2.5.0 版本SDK后报错: ...

  • iOS Bugly接入

    项目需求:项目上线后,为了能够快速定位到线上版本bug位置,决定导入使用一下Bugly。解决方案:使用Bugly解...

  • iOS Bugly接入

    一、官网注册Bugly,获取APP ID,APP Key 二、 集成Bugly 三、Appdelegate中代码集...

  • Bugly热更新Tinker之相关问题

    APP上线后,如何定位问题呢?接入Bugly啊!定位了问题后,如何修复呢?接入Bugly啊!众所周知,Bugly使...

  • android定位混淆过后的crash问题

    1.首先接入bugly 引入库 //bugly api'com.tencent.bugly:crashreport...

  • Android 腾讯Bugly热更新接入(Kotlin语言)

    Android 腾讯Bugly热更新接入(Kotlin语言)

  • 接入腾讯bugly

    腾讯Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时...

  • 腾讯Bugly接入

    MTA支持Java和Native异常捕获,其中Java Crash模块默认集成在MTA主体jar包中,Native...

  • Bugly

    为了便于收集崩溃数据,为此开始接入Bugly!使用非常简单!登录https://bugly.qq.com/v2/w...

  • Bugly热修复,痛苦的接入

    说明 要是打算接入热修复或者要学习热修复的同学,要是打算接入Tinker的,我劝你直接放弃,接入Bugly,都是马...

网友评论

    本文标题:iOS Bugly接入

    本文链接:https://www.haomeiwen.com/subject/ypvtertx.html