在工作中,开发完一个版本后,就轮到测试部进行测试,如果发生了崩溃,一般会把一个.ips的崩溃报告文件导出来发给我们进行修复,我们要处理一下这个文件才能找到崩溃点
1、先在桌面上建个文件夹,就叫crash吧
2、.ips崩溃报告文件重命名为.crash后缀(扔到crash文件夹里)
3、将对应的ipa后缀改为.zip,解压,然后把Payload文件夹下的.app文件也扔到刚刚的crash文件夹里(如果实在没有了就再从Archives里导出来一个,但要保证是崩溃发生的那个包)
ps:找包步骤:打开Xcode,window ->Organizer
4、在Archives里,找到发布用的那个包,右键Show in Finder,然后对文件夹中的这个.xcarchive文件右键,显示包内容,就可以看到一个名为dSYMs的文件夹,把里面的.dSYM文件拷出来,还是放到桌面的crash文件夹里。
5、找到symbolicatecrash工具,它在我的Mac中的具体路径如下
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
或者你也可以在终端中输入命令搜索:
find /Applications/Xcode.app -name symbolicatecrash -type f
现在把它也拷贝到crash文件夹里。
6、至此,crash文件夹里现在有4个文件了,分别是.app, .crash, .dSYM, symbolicatecrash。然后打开终端,输入命令:./symbolicatecrash /Users/xxxx/Desktop/crash/xxxx.crash /Users/xxxx/Desktop/crash/xxxx.app.dSYM > xxxx.crash
上述命令中,”xxxx“请自行替换成对应的名称
或者:./symbolicatecrash ./.crash ./.app.dSYM>symbol.crash
7、如果报错,输入命令export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
试试,再不好使就多运行几次,还不行就百度下。。。
最后生成的xxxx.crash文件就是正常的Xcode日志了