前言:在日常开发过程中我们会遇到测试完成后,发布到线上,由于各种网络环境系统以及不同机型的影响,还是避免不了出现少数的奔溃的情况,那么我们如何收集这些奔溃的情况呢?我们可以通过项目里集成腾讯的Bugly。当然这是不错的选择,但是如果我们没有集成第三方的bug检测怎么办呢?这里来介绍下通过Xcode工具查看Crash文件。
这里不再解释什么是symbolicatecrash ,具体参考传送链接
进入正题:当我们在App Store Connect->APP分析里面查看有奔溃信息后。
一:在本地新建一个文件夹,这里命名为Crash
二:找到生成的Crash文件
打开Xcode,打开上面的Window->Organizer,找到你的app,和发生崩溃的版本。
上面就可以看到你的奔溃信息。但是这里只是显示,具体也不知道在哪里。所以接下来我们需要找到这个crash文件。右击->Show in Finder
找到crash文件,复制到第一步创建好的Crash文件夹里面。
三:找到app包所对应的.dSYM文件,记住是奔溃版本对于的.dSYM文件
在Window->Organizer,找到你的app,和发生崩溃的版本,右键 Show in Finder->显示包内容->dSYM
找到项目对于的.dSYM文件,复制到第一步创建好的Crash文件夹里面。
四:找到symbolicatecrash工具。
前往文件夹:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash。
找到symbolicatecrash复制到第一步创建的Crash文件夹里面。
五:生成.log日志文件
打开终端:进入你的文件夹。cd /Users/jy4r/Desktop/Crash/*你第一步创建文件夹的路径,路径不同*/
然后输入:./symbolicatecrash ./NeweggBBC.crash ./NeweggBBC.app.dSYM > NeweggBBC.log
symbolicatecrash为xcode的解析工具,NeweggBBC.log为下载的崩溃日志文件,NeweggBBC.app.dSYM为自己的项目对应的dSYM文件,这里我的项目名称为NeweggBBC,所以这个文件的名字为NeweggBBC.app.dSYM,具体根据你复制的文件为命名。
如何出现这个错误:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
需要先执行:export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer //临时修改环境变量。
然后重新执行:./symbolicatecrash ./NeweggBBC.crash ./NeweggBBC.app.dSYM > NeweggBBC.log命令。
此时可以看到Crash文件夹里多个NeweggBBC.log文件。打开,可以看到你的奔溃地址位置所在。
此时就可以看到奔溃位置了。