Xcode自带工具symbolicatecrash转换苹果审核失败的二进制文件

前段时间发包被苹果拒了,并且发了两个.txt文件,点开一看,我一脸懵逼,全是二进制!好在百度、谷歌的强大,找到一个转换二进制文件的方法,使用xcode自带的工具symbolicatecrash,可以将二进制文件转换成我们看得懂的,即具体代码(前提是你发的包被拒且苹果有给你发crashlog.txt文件)。

crash.txt.png

一、找到.app文件和.app.dSYM文件

  • 在桌面创建一个crash文件夹(文件夹名字自己随便命名),然后找到你发包的Archive文件,Xcode->Window->Organizer找到Archives找到App->右击Show in
    Finder

    Archive.png

    被拒的文件.png

  • 复制app和.app.dSYM到crash夹文件:右击.xcarchive文件->显示包内容
    在dSYMs文件夹中找到.app.dSYM


    app.dSYM.png

    在Products->Applications文件夹中找到app


    app.png

二、找到symbolicatecrash

  1. 在终端输入以下命令,稍等一会就会出现symbolicatecrash的路径
    find /Applications/Xcode.app -name symbolicatecrash -type f

    symbolicatecrash路径.png

  2. 用命令将symbolicatecrash拷贝到桌面的crash文件夹里面,与.app和.app.dSYM放一起(手动找到symbolicatecrash,拷贝出来也行)
    cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/你的电脑名称/Desktop/crash
    此时文件夹有3个东西:

    文件夹.png

三、执行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"

  • 再执行,这时候终端将会进行处理了


    终端.png
  • 这时就大功告成了,此时crash文件夹会生成symbol.crash文件:这个就是最终的文件,可以查看bug所在的位置。


    最终文件.png

对照图

对比.png

推荐阅读更多精彩内容