前段时间发包被苹果拒了,并且发了两个.txt文件,点开一看,我一脸懵逼,全是二进制!好在百度、谷歌的强大,找到一个转换二进制文件的方法,使用xcode自带的工具symbolicatecrash,可以将二进制文件转换成我们看得懂的,即具体代码(前提是你发的包被拒且苹果有给你发crashlog.txt文件)。
一、找到.app文件和.app.dSYM文件
-
在桌面创建一个crash文件夹(文件夹名字自己随便命名),然后找到你发包的Archive文件,Xcode->Window->Organizer找到Archives找到App->右击Show in
Finder
-
复制app和.app.dSYM到crash夹文件:右击.xcarchive文件->显示包内容
在dSYMs文件夹中找到.app.dSYM
在Products->Applications文件夹中找到app
二、找到symbolicatecrash
-
在终端输入以下命令,稍等一会就会出现symbolicatecrash的路径
find /Applications/Xcode.app -name symbolicatecrash -type f
-
用命令将symbolicatecrash拷贝到桌面的crash文件夹里面,与.app和.app.dSYM放一起(手动找到symbolicatecrash,拷贝出来也行)
cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/你的电脑名称/Desktop/crash
此时文件夹有3个东西:
三、执行symbolicatecrash
使用终端命令切换到桌面的crash目录下:
cd /Users/你的电脑名称/Desktop/crash
将苹果发的crachlog.txt文件修改后缀,修改成.crash,执行命令
./symbolicatecrash /Users/(你的电脑名)/Desktop/crashlog.crash /Users/(你的电脑名)/Desktop/crash/JSDIM.app.dSYM > symbol.crash
这时候终端有可能会出现(并且转换成的symbol.crash文件空白):
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
输入命令:
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
-
再执行,这时候终端将会进行处理了
-
这时就大功告成了,此时crash文件夹会生成symbol.crash文件:这个就是最终的文件,可以查看bug所在的位置。