资源整理iOS 开发学习成长之路iOS OC技术

iOS 关于Bugly与友盟的错误分析的比较

2018-05-02  本文已影响84人  一个不太努力的代码搬运工

我先介绍Bugly的使用,然后再介绍友盟的使用,来比较这两个的优缺点,分析一下哪个SDK对于开发者更加友好。

image.png

一、Bugly的集成使用

Bugly02.png
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Bugly startWithAppId:@"d31aeda785"];
    NSArray *array = @[@"1",@"2",@"3"];
    NSLog(@"%@",array[3]);
    return YES;
}

运行之后我们可以在Bugly的后台看到崩溃信息,大约不到一分钟,就可以在后台看到崩溃信息了。(这里请注意:这里在Bugly显示时间很短,可以说是即时的,因为这个方面要和友盟进行对比。)

Bugly03.png

(2)当你用模拟器或者Debug模式运行,一定要注意文档中的这段话,我是将值都改成了1。

  • Debug模式编译是否上传,1=上传 0=不上传,默认不上传
    UPLOAD_DEBUG_SYMBOLS=0
  • 模拟器编译是否上传,1=上传 0=不上传,默认不上传
    UPLOAD_SIMULATOR_SYMBOLS=0

再次运行后,当然也是崩溃,查看Bugly后台,很清晰的为我们分析出是哪一行出现错误。是不是很棒棒!!!

Bugly05.png

二、友盟错误分析

#import "AppDelegate.h"
#import <UMCommonLog/UMCommonLogHeaders.h>
#import <UMCommon/UMConfigure.h>
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [UMCommonLogManager setUpUMCommonLogManager];
    [UMConfigure setLogEnabled:YES];//设置打开日志
    [UMConfigure initWithAppkey:@"5ae870e88f4a9d72f70004d3" channel:@"App Store"];
    NSArray *array = @[@"1",@"2",@"3"];
    NSLog(@"%@",array[3]);
    return YES;
}

就文档而言,感觉友盟的文档很乱,东西很杂,对于初次使用友盟的开发者来说可能会有一点麻烦,也许是因为友盟的产品太多了吧。
当我们运行完有bug的程序之后,在友盟的后台并没有及时显示出崩溃信息,我也就不等了,因为昨天就等了两个小时才在后台看到,友盟这效率有点低啊。
如果我们想看到底是哪一行代码引起的崩溃我们需要借助工具umcrashtool。下面开始说说如何使用。
点击这里可以看到错误工具的使用

UM05.png
具体分析我们需要两件东西,1.umcrashtool 2.错误列表的.csv文件
我们可以通过链接下载umcrashtool,关于.csv文件我们在哪里去找
UM06.png

在这里进行下载,在桌面新建一个文件夹crash,将umcrashtool和.csv文件一同放入crash中。

此时我们发现.dSYM文件的名称和终端上要求的名称不一样,要将.dSYM文件命名为终端上的名称,(UM14.png是修改后的文件名称)再次执行上面的命令。

image.png

之前的警告就消失了,但是新的问题出现了,这里为什么没有具体显示哪一行有错误呢?通过查找资料发现,友盟关于数组越界这种bug并不能准确分析出是哪一行代码出现问题,so。。。刚才是白做了,此时心中一万只草泥马路过,看到这里的朋友不要打我,我是无辜的。


image.png

通过实际操作两者比较:

上一篇下一篇

猜你喜欢

热点阅读