14-统计Crash的工具Crashlytics

iOS开发工具——统计Crash的工具Crashlytics

简介

Crashlytic 成立于2011年,是专门为移动应用开者发提供的保存和分析应用崩溃信息的工具。Crashlytics的使用者包括:支付工具Paypal, 点评应用Yelp, 照片分享应用Path, 团购应用GroupOn等移动应用。

2013年1月,Crashlytics被Twitter收购,成为又一个成功的创业产品。被收购之后,由于没有了创业公司的不稳定因素,我们更有理由使用它来分析应用崩溃信息。

使用Crashlytics的好处有:

1、Crashlytics不会漏掉任何应用崩溃信息。拿我的应用举例来说,在iTunes Connect的后台查看不到任何崩溃信息。但是用户确实会通过微博或者客服电话反馈应用崩溃的情况。而这些在Crashlytics中都可以统计到。如 下截图分别显示了我的某应用在苹果iTunes Connect后台和Crashlytics中的差别:

2、Crashlytics可以象Bug管理工具那样,管理这些崩溃日志。例如:Crashlytics会根据每种类型的Crash的出现频率以及 影响的用户量来自动设置优先级。对于每种类型的Crash,Crashlytics除了会像一般的工具提供Call Stack外,还会显示更多相关的有助于诊断的信息,例如:设备是否越狱,当时的内存量,当时的iOS版本等。对于修复掉的Crash日志,可以在 Crashlytics的后台将其关掉。下图所示的是一个我的早期应用的崩溃记录,在我修复后,我将其更新为已修复状态。

3、Crashlytics可以每天和每周将崩溃信息汇总发到你的邮箱,所有信息一目了然。

下面我就给大家介绍如何使用Crashlytics。

使用介绍

申请帐号

Crashlytics的服务是免费提供的,但是并不能直接注册使用,需要先申请,打开Crashlytic的官网 ,输入自己的邮箱申请使用。如下图所示:

提交完邮箱之后,你的申请会放在Crashlytics的申请队列中,网页跳转到如下界面。在这个界面的右侧,你可以提供更多有效信息来让Crashlytics优先处理你的申请,建议大家都填上更多自己的信息。

如果顺利,通常1-2天左右,你就会收到Crashlytics发来的申请通过邮件,如下图所示,通过邮件链接跳转到注册界面,填写密码即可完成注册。

设置工程

在使用Crashlytics前需要对原有的XCode工程进行配置,在这一点上,Crashlytics做得比其它任何我见过的SDK提供商都体贴。因为Crashlytics专门做了一个Mac端的App来帮助你进行配置,所以,在配置前你先需要去这里下载该应用。

应用下载后,运行该应用并登录帐号。然后选择应用中的"New App"按钮,然后选择自己要增加Crashlytics的工程,然后Crashlytics的应用会提示你为工程增加一个Run Script,如果你不知道如何添加,这里有一个帮助的文档。添加好之后的工程截图如下所示

接着,Crashlytics的本地应用会提示你将Crashlytics相关的framework拖到工程中。如下所示:

按照提示做完之后,就到了最后一步了,在AppDelegatedidFinishLaunchingWithOptions方法中加入如下代码:

 #import <Crashlytics/Crashlytics.h>

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   [Crashlytics startWithAPIKey:@"your identify code"];
}

之后,运行一下程序,Crashlytics就会检测到你设置成功。如果你感兴趣,可以自己手工触发一个崩溃记录,看Crashlytics能否帮你收集到。使用如下代码即可

[[Crashlytics sharedInstance] crash];

如果你想测试一个Exception导致的崩溃,可以使用如下代码:

[NSObject doesNotRecognizeSelector];
[arrayWithOnlyTwoElements objectAtIndex:3];

应用对外发布后,就可以在Crashlytics后台查看和修改相关的记录。另外,Crashlytics还支持将数据导入到其它项目管理工具(例如Redmine或Jira)如下所示,配置都非常简单。

实现原理和使用体会

实现原理

在原理上,Crashlytics的通过以下2步完成崩溃日志的上传和分析:

  1. 提供应用SDK,你需要在应用启动时调用其SDK来设置你的应用。SDK会集成到你的应用中,完成Crash信息的收集和上传。
  2. 修改工程的编译配置,加入一段代码,在你每次工程编译完成后,上传该工程对应的dSYM文件。研究过手工分析Crash日志的同学应该知道,只有通过该文件,才能将Crash日志还原成可读的Call Stack信息。

使用体会

为了更加方便开发者设置相应的工程,Crashlytics提供了mac端的应用程序,帮助你检测相关工程是否正确设置并且提供相应的帮助信息。后 来我还发现,该程序还会自动帮你升级Crashlytics的SDK文件。虽然这一点很体贴,但是我个人觉得还是不太友好。因为毕竟修改SDK会影响应用 编译后的内部逻辑,在没有任何通知的情况下升级,我都无法确定Crashlytics有没有干坏事。不过国外的服务,特别是象Twitter这种相对较大 知名度公司提供的服务要有节操得多,所以在这一点上我还是比较放心的。

使用Crashlytics可以让你摆脱管理应用崩溃记录的烦恼。并且帮助你找出应用的一些重大隐藏性Bug。例如我之前写的一个应用就过一个缓存 过期的问题,只有当缓存过期时才会触发这个Bug,这样的问题在测试人员那边很难触发,因为他们不可能了解你的应用内部实现细节。通过 Crashlytics,使我清楚了解到应用Crash的数量和位置,结合自己的开发经验,就很容易找到问题所在了。

值得一提的是,Crashlytics本身的官方文档也非常健全,如果你在使用中遇到任何问题,也可以上去查看详细的文档。

愿Crashlytics能让大家的应用都更加健壮~

时间: 2024-10-27 13:03:09

14-统计Crash的工具Crashlytics的相关文章

iOS开发工具——统计Crash的工具Crashlytics

简介 Crashlytic 成立于2011年,是专门为移动应用开者发提供的保存和分析应用崩溃信息的工具.Crashlytics的使用者包括:支付工具Paypal, 点评应用Yelp, 照片分享应用Path, 团购应用GroupOn等移动应用. 2013年1月,Crashlytics被Twitter收购,成为又一个成功的创业产品.被收购之后,由于没有了创业公司的不稳定因素,我们更有理由使用它来分析应用崩溃信息. 使用Crashlytics的好处有: 1.Crashlytics不会漏掉任何应用崩溃信

IOS的Crash情况在Crashlytics平台上统计解决方案的一点遗憾(截止到2015年6月14日)

平台针对特定版本的monkey操作后数量统计,按时间段定时去获取,最后根据操作批次出具分析报告: 问题是crashlytics平台仅提供一个BS登录查看WEB后台,所以无法通过API或者DB去直接获取数据(ISSUES,CRASHES,USERSAFFECTED) 本人尝试了几种方式: 1. 通过HTTPS模拟请求方式获取,后面由于其token等限制太严格(用该方法已经在bugzilla 4.2上获得成功),且提示信息比较模糊化,安全做得不错,短期无法通过提示攻克,尝试较多没有成功 2. 通过内

iOS Crash解析工具

现状 面对dwarfdump和symbolicatecrash相继失效的问题,要么就像六脉神剑一样,时灵时不灵的,而atos使用起来相对繁琐的问题.我们开发了Symbolicatecrash,一个Mac软件,可以方便地解析crash,目前支持apple原生的crash文件格式和Umeng crash格式. 为什么要开发这个软件呢?主要有两个原因: Xcode自带的symbolicatecrash命令使用繁琐,并且经常发生atos可以成功地解析,而symbolicatecrash总能神奇地做到什么

解决 Git 冲突的 14 个建议和工具

Git 非常善于合并代码.代码的合并在本地完成,快速而且灵活.正常情况下每次从不同分支合并内容时,冲突有可能会发生.通常解决冲突很简单,就如同知道(如何)选择(保留)重要的更改一样,而有时解决冲突则需要额外的工作. 每个开发者对于解决冲突有不同的偏好.不久前,一位叫丹·史蒂文斯的同事用内部软件 Questions for Confluence 询问了大家是如何做的. 收集到的回答和看法比 Atlassian 之墙有更大的吸引力.下面是我们用多种方式解决 Git 冲突的详尽描述,希望它能提供一些可

Qt 5.14和Qt Creator工具简介

原文地址:https://blog.csdn.net/somken/article/details/104053605 Qt5简介Qt 5是Qt的最新版本.它使开发人员能够以直观的用户界面针对多个目标开发应用程序,这比以往任何时候都快.Qt 5可以更轻松地解决触摸屏和平板电脑所需的最新UI范式转换. 通过在Qt 5中改进对JavaScript和QML的支持,开发人员可以提高生产力和灵活性,同时仍具有C ++基础和Qt Widget支持.HTML5开发人员将对包含基于Chromium的Qt Web

14 Linux之openssl工具创建私有CA

证书的创建依赖加密算法,请看http://yunweigou.blog.51cto.com/6299641/1637108 前言,随着网络的发展,由于使用http协议通信的双方数据是明码格式的,故容易被其他网络主机盗取或偷换数据,无法对数据的安全提供保障.为保证数据的保密性及完整性,SSL问世 SSL:Secure Sockets Layer 安全套接字层 可理解为传输层和应用层之间的半层,对数据进行加密和解密 是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保

最受欢迎的14款主流渗透工具,流行至今

就像任何事物都有两面,黑客既可以进行恶意的攻击破坏,同样也可以通过利用自己的技术去找到系统的漏洞.缺陷等,然后通知相关企业进行修复已获得更好的防护.但无论是出于何种目的,对于黑客们而言,工具和脚本的使用都必不可少.所谓工欲善其事,必先利其器,本文将为大家整理介绍非常受欢迎的一些黑客工具,供大家挑选使用. ANGRY IP SCANNER 黑客可以通过该工具使用人们的IP地址来对其进行跟踪并窥探其数据.其还被称作"IPScan",即通过对IP地址和端口的扫描来找到进入用户系统的方法.它是

ubuntu 14.04 安装截图工具 Shutter及使用

一.安装截图工具 Shutter 1. 添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 1 2. 更新源并安装 shutter sudo apt-get update sudo apt-get install shutter 1 2 3. 搜索 shutter 可看到已安装成功 二.设置 Shutter 快捷键 1. 打开系统设置 2. 打开 Keyboard 键盘设置 3. 添加成功的状态 4. 单击右侧 Disabled,然后快速按下 Ctr

jstat:虚拟机统计信息监视工具

jstat(JVM Statistics Monitoring Tool) jstat是用于监视虚拟机各种运行状态信息的命令行工具. 它可以显示本地或者远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据,在没有GUI图形界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具 Jstat命令格式为 jstat [ option vmid [interval[s|ms] [count] ] ] 对于命令格式中的VMID与LVMID需要特别说明一下:如果是本地虚拟