iOS上线之后crash处理

APP上线之后,如何查看crash,怎么处理?

(1)在XCode中定位处理

(2)集成第三方,通过第三方上传的日志处理

(3)设备中的日志如何符号化

一,在XCode中定位crash具体的方法

1,APP的crash情况,可以在iTunes connect上查看,如下图。


iOS上线之后crash处理_第1张图片
屏幕快照 2018-07-19 16.38.44.png

iOS上线之后crash处理_第2张图片
[图片上传中...(屏幕快照 2018-07-19 16.44.53.png-1ddc59-1531990235515-0)]
iOS上线之后crash处理_第3张图片
屏幕快照 2018-07-19 16.44.53.png

通过上面的数据,定位crash是在那个版本。
怎么处理,可以在XCode中找到crash的具体地方。


iOS上线之后crash处理_第4张图片
[图片上传中...(屏幕快照 2018-07-19 16.54.47.png-7c4c56-1531990883184-0)]
iOS上线之后crash处理_第5张图片
屏幕快照 2018-07-19 16.54.47.png

二,使用第三方的crash收集,我这里使用的是百度统计的。根据文档集成,记得要上传.dsym文件,百度统计会自动符号化,供我们查看。

百度统计crash集成文档https://mtj.baidu.com/sdkdoc/iOS/BaiduMTJ_iOS_App_V4.8.0/function/crash/analysis/auto.html
下图是上传文件的地方。文档中的dsym文件在哪里得到,后面有提到。

iOS上线之后crash处理_第6张图片
屏幕快照 2018-07-26 08.53.38.png

根据文档上传文件后,用户crash日志会被自动符号化,如下图:


iOS上线之后crash处理_第7张图片
屏幕快照 2018-07-23 10.35.35.png

三,crash日志符号化。有时需要查看本地的crash原因,如何符号化crash日志?符号化crash日志需要三个文件 .Crash、.dSYM、和symbolicatecrash。

1,找crash日志。本地crash日志在哪里。

iOS上线之后crash处理_第8张图片
屏幕快照 2018-07-25 11.21.45.png

找准你自己的APP crash日志导出,就是 .crash文件。


iOS上线之后crash处理_第9张图片
屏幕快照 2018-07-25 11.32.35.png

2,找symbolicatecrash文件。 symbolicatecrash是Xcode自带工具解析iOS Crash的工具。

终端输入:
find /Applications/Xcode.app -name symbolicatecrash -type f

得到symbolicatecrash文件路径,直接前往即可。

/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash

symbolicatecrash长这个样子


iOS上线之后crash处理_第10张图片
屏幕快照 2018-07-25 11.42.26.png

3,找dsym文件。想要每次编译(debug)都有dsym文件,请在build setting里面设置一下。

iOS上线之后crash处理_第11张图片
屏幕快照 2018-07-25 13.51.12.png

打开设置后,点击product文件下的.app文件,show in finder 在里面会看到dsym文件。记得找你crash对应的版本的dsym,别随便搞一个,每个版本的dsym对应的uuid是不一样的。


iOS上线之后crash处理_第12张图片
屏幕快照 2018-07-25 14.04.24.png

release之后的包在哪里找dsym文件呢?看图
iOS上线之后crash处理_第13张图片
屏幕快照 2018-07-25 14.12.45.png

iOS上线之后crash处理_第14张图片
屏幕快照 2018-07-25 14.13.07.png

显示包内容,就会看到dsym文件夹。

4,符号化crash文件。

将. dsym .crash和symbolicatecrash 拖入同一个文件夹。打开终端输入命令:

//test是三个文件所在的文件夹
cd /Users/zhouyang/Desktop/test 
//注释:命令样式 ./symbolicatecrash . crash文件路径 .dSYM文件路径 > Control_symbol.crash

./symbolicatecrash /Users/zhouyang/Desktop/test/LittleInvestLetou\ \ 2018-7-25\ 11-30.crash /Users/zhouyang/Desktop/test/LittleInvestLetou.app.dSYM > Control_symbol.crash

如果出现:

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

请输入以下命令:

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer" 

再次执行

//注释:命令样式 ./symbolicatecrash . crash文件路径 .dSYM文件路径 > Control_symbol.crash

./symbolicatecrash /Users/zhouyang/Desktop/test/LittleInvestLetou\ \ 2018-7-25\ 11-30.crash /Users/zhouyang/Desktop/test/LittleInvestLetou.app.dSYM > Control_symbol.crash

执行完后会得到一个Control_symbol.crash文件,里面的内容就是符号化后的内容。


iOS上线之后crash处理_第15张图片
屏幕快照 2018-07-25 16.18.26.png

iOS上线之后crash处理_第16张图片
屏幕快照 2018-07-25 16.27.58.png

你可能感兴趣的:(iOS上线之后crash处理)