App闪退异常日志收集功能
2019-11-18 本文已影响0人
Geniune
言归正传,苹果已经提供了几种获取log的方式:
- 使用Xcode从设备获取,将手机用数据线连接安装了Xcode的Mac后,可以通过window-Devices and Simulators查看;
- 苹果爸爸发给你的.crash文件,需要使用.dSYM文件将其符号化后增加可读性。
对于App崩溃分析,为什么我不推荐使用友盟、Bugly这些第三方开放服务
这些第三方工具集成起来非常简单,.a文件导入,使用在开放平台上申请的AppKey调用一个函数就能搞定。但是个人认为该功能完全可以自己实现,很多面试官甚至老板都不能理解为什么我要多此一举,主要有以下几个原因:
- 无法针对单台设备的log收集,第三方SDK收集上来的数据是没有条件筛选的,只要安装了app的设备产生奔溃都会上传;
- 只有在App真的发生奔溃,也就是用户体验极差的俗称”闪退“现象时,才会记录并上传log;
- 竞品问题,例如“友盟”目前在阿里旗下,而你所在的公司和阿里又是对手,那BOSS还会允许你使用友盟统计么?
- 对于容错处理,例如数组越界、数据类型不匹配等问题,很多开发者都会做容错处理,那么在App Store发布的版本中这些被”过滤“掉的异常由从何得知?
敏捷开发/用户少的项目直接使用Bugly确实可以很直观的发现bug并减少开发时间,但很多复杂场景说明了第三方SDK并不是”治疗“App的最优选择,我的解决办法是:UncaughtExceptionHandler+Signal+SafeProtector+XLog,缺点也很明显就是log文件的生成机制、上传服务器机制等都要自己实现+控制.
如果本文对你有所帮助,记得点击一下喜欢哈