iOS dSYM 符号恢复

有大约五种方式做 iOS dSYM 符号恢复
其中有两种方式都算是比较原始的方案, 区别是 iOS 版本问题

0x00 文件选择

crash 文件在 xcode 中导出, ips 文件在手机 设置->隐私->分析与改进->分析数据

crash 文件直接用 0x01

ips 文件选择性使用

0x01 iOS 15 以前, ips 可以改后缀 crash

工具在 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources 这里
可以通过 find /Applications/Xcode.app -name symbolicatecrash -type f 找到
导出该文件来使用, 注意 ⚠️ 我的 dSYM 文件, crash 文件以及输出的结果文件都在同意目录下使用的, 实际可以自由发挥

cd ~/Downloads/dsym/crash
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
./symbolicatecrash Test.crash Test.app.dSYM > Result.crash

0x02 CrashSymbolicator.py iOS 15 以后

工具在 /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources 这里
可以通过 find /Applications/Xcode.app -name CrashSymbolicator.py -type f 找到
该文件不能导出, 导出后会环境不全无法使用脚本, 直接是用全路径, 注意 ⚠️ 我的 dSYM 文件, crash 文件以及输出的结果文件都在同意目录下使用的, 实际可以自由发挥

cd ~/Downloads/dsym/crash
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
python3 /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources/CrashSymbolicator.py -d Test.app.dSYM -o Result.crash -p Test.ips

0x03 使用开源 dSYMTools 工具

这个工具适合针对某一条 crash 信息进行恢复符号
https://github.com/answer-huang/dSYMTools/releases 下载后按照 readme 使用

0x04 是用开源 CrashDecoder 工具

https://github.com/HolmesZhao/CrashDecoder 我根据 xtrong/CrashDecoder 进行简单的优化后的程序

0x05 线上 Crash Xcode

Archives 的地方就有相关的信息

参考资料

  1. https://juejin.cn/post/7145665659949547556
  2. //www.greatytc.com/p/88c915cd0be5
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容