向苹果提交项目审核,结果别拒绝了,还返回几个crash日志。
下面是分析crash日志的步骤:
一,在桌面创建一个文件夹crashDir
①.Xcoe-Window-Organize找到Archives找到App-右击-Show in Finder
②.复制.app和.app.dSYM到crashDir夹文件:右击..xcarchive文件-显示包内容
二、首先找到symbolicatecrash工具存放的地址
①.打开终端输入以下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
你会找到:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
②.用命令将symbolicatecrash拷贝到桌面的crashDir文件夹里面,与.app和.app.dSYM放一起
cp /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/yangliu/Desktop/crashDir
③.将Crash文件也拷到当前文件夹里面 ,注意苹果返回日期文件是.txt格式,后缀名修改成.crash ,一定要注意:苹果返回的文件名字一定不要修改,即crash文件的名字不能修改,是固定的,刚开始我以为crash文件的名字是随意的,结果一直出现错误,最后才想到可能名字的问题。下图中的crash文件有两个,苹果返回了两个给我。。
三、执行symbolicatecrash
①.打开终端用命令切换到桌面的crashDir目录下:
cd /Users/你的电脑名称/Desktop/crashDir
②.执行命令
./symbolicatecrash temp..cridsoty.crash minsuyun.com.app.dSYM > test1.log
这时候终端有可能会出现:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.
③.输入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
④.再执行
./symbolicatecrash temp..cridsoty.crash minsuyun.com.app.dSYM > test1.log
这时候终端将会进行处理了
5.将终端完成以后,在crash文件夹里面会多出一个文件 test1.log:这个就是最终的文件,可以查看bug所在的
注意事项:
这一解析过程需要使用Symbolicatecrash来完成,首先要找到Symbolicatecrash文件,可以拷到刚才放crash log的文件夹中使用,在开始解析之前需要先进行一些校验:
①. 查看xx.app文件的uuid的方法,在命令行中输入:
$ dwarfdump --uuid xxx.app/xxx (xxx工程名)
②. 查看xx.app.dSYM文件的uuid的方法,在命令行输入:
$ dwarfdump --uuid xxx.app.dSYM (xxx工程名)
③.查看.crash的uuid,位于crash日志中的Binary Images:中的第一行。如:188187BD-997F-3EC4-BEEF-62791C5EFF72 (armv7)
只有三者的uuid相同才能解析.crash文件,然后在命令行输入:
$ ./symbolicatecrash xxx.crash xxx.app.dSYM > test.log