您的位置:首页 > 移动开发 > IOS开发

使用Crashlytics收集iOS崩溃报告

2017-02-22 18:09 218 查看
最近开发的一个APP使用的人慢慢多了起来,客户的Crash报告也慢慢多起来,有时候根据客户的简单描述很难重现问题,而在不重现问题的情况下想凭空找到一个问题的根源是很难的,特别是可能涉及到memory warning,线程等地方时别难。所以开始着手crash report的收集。
虽然说iTunes Connect上有crash report功能,但好像我还从来都没在上面收集到过。然后自己动手写crash report collection功能的成本又太高。所以我将目光投向了第三方集成解决方案。因为TS3的用户群主要在国外,客户也在国外,所以国内的“友盟”一开始就被排除了。然后在Flurry和Crashlytics之间我选择了后者,后者相对来说更专注一些。
一番使用下来,总体感觉Crashlytics做得相当人性化(难道也是受Twitter的影响吗——Crashlytics已经被Twitter收购),开发人员的集成体验非常友好,甚至傻瓜式的操作就可以了。
废话不多说,直接说使用过程。
首先需要注册一个帐号。Crashlytics是免费使用的,可以打开http://try.crashlytics.com网址进行注册。 


更准确的来说是申请,因为它的流程跟普通注册流程有些不一样,要求输入用户名和邮箱地址,然后进入排队审核状态,审核通过才会收到注册邮件。 


使用Twitter帐号登陆应该可以提高队列的优先级,但一样需要用这个twitter的帐号来绑定Crashlytics帐号。看别人的文章说普通排队顺利的话一两天可以收到邮件。我使用Twitter帐号一会就收到邮件了,不知道真的是twitter帐号的缘故,还是现在审核速度加快了。 

顺便提一下,收到的邮件的署名是Fabric,而非Crashlytics。我一开始还犹豫了一下是不是这东西,后来查了一下资料,才知道现在Crashlytics已经归并到Fabric下,算是Fabric一个功能子集。而Fabric则是Twitter发布的一个移动开发工具套件,主要方便开发者在login,
crash, 广告方面的集成,有关Fabric的介绍可以看这里Introducing Fabric
注册成功后本来是到了最复杂的应用配置和集成过程,但我却觉得这里反而没什么好写了……因为我说的“人性化”,“傻瓜式”正是指的这里。只要你登陆后按需要下载相应的工具(iOS平台是一个Mac客户端,Android平台中我选了android
studio,是android stuido的一个插件)。安装后只要跟着它的要求一步一步的做,基本上就集成完毕了,基本上不需要“动脑”。还是随便贴两张图让大家看一下客户端的操作流程吧

 

选择项目 


 

选择Crashlytics 


 

根据项目环境和个人喜好选择cocoapods或者是xcode framework的方式继续(后面的图都是xcode framework的方式截的图) 


 

添加run script,如果不知道如何添加run script,可以在点击说明1后面的问号打开说明文档 


 

将framework文件拖进project目录结构中 


 

添加关键代码到AppDelegate.m 


 

运行 


 

有检测问题时会提示重新运行 


 

运行正常(有时要等待一会,因为客户端需要发送请求到server update配置)。 

返回主菜单就可以看到app list: 


 

在集成这个project时有个小插曲,本来这个项目中是有使用cocoapods的,但我在一开始使用cocoapods方式集成时居然失败了,原因是没有引用到fabric和crashlytics相关的library,后来使用xcode framework的方式集成才成功了。后来用cocoapods的方式集成另外一个项目,倒是一次过通过了。我猜测有可能是在pod update时不同dependence之间有冲突?
集成完之后在Fabric网站和客户端上就可以看到该项目的详细信息。可以人为的制造一两个crash测试一下: 



概述 



detail 



出错代码分析

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: