使用Crashlytics收集iOS崩溃报告

最近开发的一个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网址进行注册。
使用Crashlytics收集iOS崩溃报告_第1张图片更准确的来说是申请,因为它的流程跟普通注册流程有些不一样,要求输入用户名和邮箱地址,然后进入排队审核状态,审核通过才会收到注册邮件。
使用Crashlytics收集iOS崩溃报告_第2张图片使用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收集iOS崩溃报告_第3张图片
选择项目
使用Crashlytics收集iOS崩溃报告_第4张图片
选择Crashlytics
使用Crashlytics收集iOS崩溃报告_第5张图片
根据项目环境和个人喜好选择cocoapods或者是xcode framework的方式继续(后面的图都是xcode framework的方式截的图)
使用Crashlytics收集iOS崩溃报告_第6张图片
添加run script,如果不知道如何添加run script,可以在点击说明1后面的问号打开说明文档
使用Crashlytics收集iOS崩溃报告_第7张图片
将framework文件拖进project目录结构中
使用Crashlytics收集iOS崩溃报告_第8张图片
添加关键代码到AppDelegate.m
使用Crashlytics收集iOS崩溃报告_第9张图片
运行
使用Crashlytics收集iOS崩溃报告_第10张图片
有检测问题时会提示重新运行
使用Crashlytics收集iOS崩溃报告_第11张图片
运行正常(有时要等待一会,因为客户端需要发送请求到server update配置)。
返回主菜单就可以看到app list:
使用Crashlytics收集iOS崩溃报告_第12张图片
在集成这个project时有个小插曲,本来这个项目中是有使用cocoapods的,但我在一开始使用cocoapods方式集成时居然失败了,原因是没有引用到fabric和crashlytics相关的library,后来使用xcode framework的方式集成才成功了。后来用cocoapods的方式集成另外一个项目,倒是一次过通过了。我猜测有可能是在pod update时不同dependence之间有冲突?

集成完之后在Fabric网站和客户端上就可以看到该项目的详细信息。可以人为的制造一两个crash测试一下:
使用Crashlytics收集iOS崩溃报告_第13张图片
概述
使用Crashlytics收集iOS崩溃报告_第14张图片
detail
使用Crashlytics收集iOS崩溃报告_第15张图片
出错代码分析

你可能感兴趣的:(app开发soho日志)