我在从.xcarchive中提取dsym文件以符号化崩溃日志时遇到问题.我知道.xcarchive包含.app文件和.dsym文件.通常,您应该能够右键单击xcarchive文件并选择“显示包内容”(
link).但是“显示包装内容”不会显示给我.
我还尝试使用symbolicatecrash手动表示崩溃日志,并为其提供xcarchive文件(link).但是,它仍会返回未符号化的崩溃日志.
谁能知道这里会发生什么?感谢任何帮助,谢谢!
解决方法
我准备了一个带有两个参数的脚本,
> MyApp.crash
> MyApp.xcarchive
并优雅地输出MyApp_symbolicated.crash
脚本:
#!/bin/bash if [ "$#" -ne 2 ]; then echo "Argument missing [symbolicate @logLocation @xcarchiveLocation]" exit 0 fi if test -e "$1"; then echo "$1 exists" else echo "$1 does not exist!" exit 1 fi if test -e "$2"; then echo "$2 exists" else echo "$2 does not exist!" exit 1 fi parentdir=`pwd` export DEVELOPER_DIR=`xcode-select -p` PATH=$PATH:$DEVELOPER_DIR echo $PATH cd $DEVELOPER_DIR cd ../SharedFrameworks/ commanddir=`pwd` command=$commanddir/`find . -name symbolicatecrash` cd $parentdir crashlog="$1" archive="$2" outputdir=`dirname "$crashlog"` nfile=$(echo $1 | rev | cut -f 2- -d '.' | rev) outputfile="$nfile"_symbolicated.crash echo $nfile desymfile="$archive"/dSYMs/*.dSYM $command -v "$crashlog" "$desymfile" > "$outputfile"
如何使用:
>在/usr/local/bin /中创建一个文件符号
>将上面的代码放在符号文件中
>使用chmod 777 symbolicate设置执行权限
>使用适当的参数从您所在的任何地方跑