必要三个文件:
symbolicatecrash
是一个Unix可执行文件
获取方法:命令行
find /Applications/Xcode.app -name symbolicatecrash -type f 拿到路径:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
dSYM
格式为:appName.app.dSYM
路径 window-Origanizer-xxx.xcarchive-显示包内容即可
注意:一定是崩溃日志对应的dSYM
crash
格式为:log.crash
后缀为.crash的崩溃日志
一般连接真机时,会自动符号化,当需要用到这种方法进行符号化时,多半是因为线上出现崩溃而记录下的崩溃日志或者Apple审核发送的邮件中包含的崩溃日志
准备符号化
打开终端,cd 到Crash目录下。
cd /Users/XXX/Desktop/Crash
输入符号化命令:
./symbolicatecrash /Users/本机用户名/Desktop/crash/aaa.crash / Users/本机用户名/Desktop/crash/xxx.app.dSYM > new_symbol.cash
如果报错
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
这是提示我们需要设置 "DEVELOPER_DIR" 这个环境变量
输入命令
export DEVELOPER_DIR=”/Applications/XCode.app/Contents/Developer”
这个是临时设置改环境变量
注:xcode-select --print-path 可以找到DEVELOPER_DIR
然后再重新输入上面命令进行符号化,成功后打开log.crash就是符号化后的日志了。
如果还报错:
$ ./symbolicatecrash /Users/XXX/Desktop/crash/TestDemo.crash /Users/XXX/Desktop/crash/TestDemo.app.dSYM > log.txt
xcrun: error: missing DEVELOPER_DIR path: ”/Applications/XCode.app/Contents/Developer”
Warning: can't find tool named 'otool' in iOS SDK, falling back to searching the Mac OS X SDK
xcrun: error: missing DEVELOPER_DIR path: ”/Applications/XCode.app/Contents/Developer”
Error: can't find tool named 'otool' in the macosx SDK or any fallback SDKs at ./symbolicatecrash line 122.
把symbolicatecrash删除,按上面的不住重新拷贝。多试几次就好了。
工具(dSYM)请移步
https://www.jianshu.com/p/d57df48a9dcd