1.桌面创建一个文件夹,命名crash;

2.将.ips文件更名为.crash文件并放到crash文件夹中;

3.前往文件夹途径拿到symbolicatecrash

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources

WeChat8d01a082c97d27d1e22c84d1b5c60607.png

4. 找到.dSYM 符号文件

  • 咱们在所需的环境下进行项目 Product – Archive ,弹出的 Organizer 窗口中会显示刚生成的Archive版别。 (每个Archive版别有一个与之对应的 .xcarchive文件),右键选中所需求的Archive版别,并挑选 Show In Finder 

11.png

  • 找到与之对应的 .xcarchive文件,右键显示包内容并进入

22.png

  • 此时,如果上面配置正确那么文件夹中就存在 dSYMs 文件夹

33.png

  • 点击进入,这样找到了对应的 appName.app.dSYM 文件

44.png

5.复制xxx.app.dSYM文件粘贴到crash文件夹中

11.png

6.翻开终端输入指令:cd进入到桌面当前crash文件夹中

7.输入指令 export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

8.依次文件直接拉入到终端,最后输出 ->2.txt

WeChatbf85554ed4bc7c342907b52ace331173.png

9.如图

WeChatc6ae869cbb417dee93b1f9b76f04f1ec.png

扩展

什么是 dSYM 文件

Xcode编译项目后,咱们会看到一个同名的 dSYM 文件,dSYM 是保存 16 进制函数地址映射信息的中转文件,咱们调试的 symbols 都会包含在这个文件中,而且每次编译项目的时分都会生成一个新的 dSYM 文件,坐落/Users/<用户名>/Library/Developer/Xcode/Archives目录下,对于每一个发布版别咱们都很有必要保存对应的 Archives 文件 (AUTOMATICALLY SAVE THE DSYM FILES这篇文章介绍了通过脚本每次编译后都自动保存 dSYM 文件)。

dSYM 文件有什么效果

当咱们软件 release 形式打包或上线后,不会像咱们在 Xcode 中那样直观的看到用溃散的错误,这个时分咱们就需求分析 crash report 文件了,iOS设备中会有日志文件保存咱们每个使用犯错的函数内存地址,通过 Xcode 的 Organizer 能够将 iOS 设备中的 DeviceLog 导出成 crash 文件,这个时分咱们就能够通过犯错的函数地址去查询 dSYM 文件中程序对应的函数名和文件名。大前提是咱们需求有软件版别对应的 dSYM 文件,这也是为什么咱们很有必要保存每个发布版别的 Archives 文件了。
借鉴于:www.jianshu.com/p/86e992932…