iOS系统上的Bug管理系统
最近在为公司的一款APP做Bug管理系统。对比及遴选了以下三个:
图1大致的分析了一下:如果不是自己公司要把崩溃信息储存到自己的服务器上。而选择第三方的Bug管理系统的话。个人有如下结论:
1、Bugly:
如果仅仅只是为了改Bug,顺便做点运营统计,选择腾讯的Bugly吧,功能齐全,还免费,关键是还能学到知识,哈哈。另外,Bugly还提供了热更新的功能(通过JSPatch实现)——如果你的App不是通过App Store发布,而是通过企业账号发布(不会通过Apple的审核),恰恰又有轻量的热更新功能,可以试试该功能。——Apple现在是不让通过JSPatch热更新的。
2、Bugtags:
一个小公司提供的Bug管理系统,我感觉其产品和Bugly相比,最大的特色,是集成了一个用户反馈功能。除了像Bugly一样提供程序崩溃的原因之外。在客户端还可以集成一个反馈功能,其效果还不错,如果自己的开发团队精力有限,可以考虑用这个反馈系统。但是其也有缺点,那就是该反馈功能——如果你是使用的他们的免费版的,功能会有时抽筋——其效果和你在本地代码中设置的不一样——向他们公司的客服询问过,因为其中的几个功能可以在服务器端配置,所以该系统每次随App使用时,都会向服务器请求配置数据,如果网络环境不好或者他们的免费版所在的服务器负载过重的时候,数据不能及时返回,你的本地配置就会抽筋。另外他们的免费版会限制很多功能,某些功能收费还不低。
3、KSCrash:
KSCrash 是 iOS 平台最强大的崩溃收集开源库(MIT)之一,GitHub:https://github.com/kstenerud/KSCrash。
图2KSCrash 能够收集以下类型的异常:
Mach 内核异常
信号类异常
C++ 异常
Objective-C 异常
Swift 异常
主线程死锁(实验性功能)
使用方法:
图3 图4 图5 图6使用KSCrash的步骤:
1、从Git上下载KSCrash-master.zip包,解压出来KSCrash-master文件夹。
2、打开KSCrash-master文件夹,看到Source文件夹,点击打开该文件夹能看到一个KSCrash文件夹。这个文件夹就是我们开发要用到的。将该KSCrash文件夹拖到我们自己的工程中即可。
3、如果有问题,可以尝试:
在应用的设置中,Build Phases->Link Binary With Libraries里添加以下frameworks & libraries:
libc++.dylib libz.dylib SystemConfiguration
(https://docs.bugtags.com/zh/kscrash/index.html,打开该链接,参考之。)
4、在代码中的使用:
图7 图8 图9 图10另外,查看KSCrash的源代码,还可以修改定制自己的各种功能。
注:Bugly、Bugtags,提供的功能不限于iOS平台上,KSCrash则仅限于iOS上使用,看作者的意图,还想扩展到Android平台上,希望作者能成功——这样公司的iOS、Android两个平台就可以共用一个Bug收集系统了。
下面是相关的截图:
Bugly截图-1 Bugly截图-2 Bugly截图-3 Bugly截图-4 Bugtags截图-1 Bugtags截图-2 Bugtags截图-3 Bugtags截图-4 Bugtags截图-5 Bugtags截图-6 Bugtags手机端截图-1 Bugtags手机端截图-2 Bugtags手机端截图-3 Bugtags手机端截图-4 Bugtags手机端截图-5 Bugtags手机端截图-6 Bugtags手机端截图-7 KSCrash截图-1 KSCrash截图-2 KSCrash截图-3