上线App崩溃 : Crash日志收集, 分析, 处理

前言

项目开发时, 遇到崩溃问题, 可以通过控制台log看到调用堆栈, 从而找到问题所在,  但上线项目如何解决App闪退那?  那么, 作者现在就聊聊这个问题.

一 iTunes Connect 中的 [App分析]

直接上传送门 : 如何查看iOS已上架app崩溃分布、定位crash发生的行 -

已经写的很清楚了, 作者不再复述, 说下该方法的限制 : 需要用户手机设置->隐私->诊断与用量->诊断与用量数据(iOS8以下版本在通用中设置) 选择自动发送. 这样才可以获取到Crash日志, 如未开启将获取不到数据,  所以该方法数据获取的不全面. 

二 程序内部实现Crash日志

该方法 作者未使用过, 具体效果未验证, 传送门 : 经营你的iOS应用日志(一):开始编写日志组件 - alario - 博客园

三 第三方实现Crash日志

友盟移动统计 Mob移动统计 百度移动统计 等第三方实现Crash日志收集与分析. 

作者使用过 友盟 和 百度. 简单说下 : 

1)百度在3.6后 新增[自动监控模式] ,集成是只需要在 

- (void)viewDidLoad

中 写入 self.title命名就行, 

2)友盟, 集成需要在

-(void)viewWillAppear:(BOOL)animated

-(void)viewWillDisappear:(BOOL)animated

中写入 友盟对应语句

上线App崩溃 : Crash日志收集, 分析, 处理_第1张图片
百度 / 友盟 

详解 : 用友盟详细说明一下

1. 进入友盟 个人中心 -> 错误分析 -> 错误列表 -> 点击列表中错误进入界面

上线App崩溃 : Crash日志收集, 分析, 处理_第2张图片
有用信息标注

2. 点击 右上角 进入 [报表中心] 下载该错误.  将 友盟Crash分析工具与下载的错误报表放同一文件夹中,  打开 终端 , 先拖入友盟Crash分析工具 再拖入 错误报表 , 按回车. 

终端 运行完成后 , 会显示错误的位置与行数

上线App崩溃 : Crash日志收集, 分析, 处理_第3张图片
显示为 UIImageBro'w'erView.m 中 235行, 出错

传送门 : 友盟统计分析文档

友盟分析错误 只定位到方法, 也就是说 235行对应的是方法,   但是具体是方法中哪句代码有问题, 需要自己仔细分析.



补充结合 : 有需求就有解决,  answer_huang - iOS developer,Python fans  封装了一个应用, 可以解决该问题.

使用步骤:

1.将打包发布软件时的xcarchive文件拖入软件窗口内的任意位置(支持多个文件同时拖入,注意:文件名不要包含空格) PS. 位置 : /Users/用户名/Library/Developer/Xcode/Archives

2.选中对应版本的xcarchive文件,右边会列出该xcarchive文件支持的CPU类型,选中错误对应的CPU类型。

3.对比错误给出的UUID和工具界面中给出的UUID是否一致。

4.将错误地址以及 Slide Address 输入工具的文本框中,点击分析。

dSYM分析工具 传送门 :GitHub - answer-huang/dSYMTools: dSYM analyze

如果好用, 请给answer_huang点个star. 感谢他的分享.

举例 :  对应 上面友盟 错误详情 截图, 将 dSYM的UUID, 首次错误内存地址, Slide Arrdress, CPU Type 填入该应用中

上线App崩溃 : Crash日志收集, 分析, 处理_第4张图片
错误定位在 240 行, 比友盟只定位方法, 更精准些

可以看到错误定位 在 240行, 为方法中的具体代码, 分析错误类型, 对比代码, 解决问题 .

App上线后, 程序Crash的收集, 分析, 处理方案介绍完. 

以上 !

你可能感兴趣的:(上线App崩溃 : Crash日志收集, 分析, 处理)