打开 window->Devices & Simulators
然后点击View Device Logs
导出.crash
文件,一般都是混淆了的看不到明文的调用栈,需要符号化
找到Xcode
中symbolicatecrash
存放的目录
find /Applications/Xcode.app -name symbolicatecrash -type f
编写一个自动操作简化这个流程
#外部传入一个.crash文件路径
filePath=$1
#echo ${filePath%/*} #文件所在目录
#echo ${filePath%/*}/*.app.dSYM #文件所在目录下的dsym文件
#echo ${filePath%/*}/_decode_symbols.crash #在文件所在目录下生成的目标文件名
#指定环境变量
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
#找到命令行所在执行命令 源.crash + 本次编译的.dsym => 目标.crash
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash ${filePath} ${filePath%/*}/*.app.dSYM > ${filePath%/*}/_decode_symbols.crash
提示No symbolic information found
说明.crash
和 .dSYM
文件的 uuid
没有对应
dwarfdump --uuid xxx.app.dSYM
查看uuid