从 shell 脚本执行 symbolicatecrash

Execute symbolicatecrash from shell script

我正在尝试从循环遍历多个崩溃日志文件并输出符号化版本的 shell 脚本调用 symboliccrash,但它失败并显示一条错误消息 "command not found"

但它在命令行中运行良好。

symboliccrash CRASH_FILE.crash APP.dSYM > symbolicated.crash

我试图找到 symboliccrash 的来源,但找不到

which -a symboliccrash

Shell 脚本代码

#!/usr/bin/bash
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
i=0

for x in *.crash;
do
        symboliccrash $x MyApp.dSYM > $i.crash
        i=$((i+1))
done

回应

compareUUD.sh: line 7: symboliccrash: command not found

知道我该怎么做吗。

我认为你首先需要执行这个命令

find /Applications/Xcode.app -name symbolicatecrash -type f

在您的终端上,这将检索您的 symbolicatecrash 的本地化信息,类似于

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

然后您需要将脚本更新为此代码

#!/usr/bin/bash
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

alias symbolicatecrash='/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash'

i=0

for x in *.crash;
do
        symbolicatecrash $x MyApp.dSYM > $i.crash
        i=$((i+1))
done

并将symbolicatecrash的方向替换为find /Applications/Xcode.app -name symbolicatecrash -type f

执行给出的结果

就是这样,用 sudo sh 执行,我测试并导致这个错误

No crash report version in 0.crash at /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash line 1007.

但我认为这个错误是因为我没有任何崩溃或 dSYM,所以我认为现在可以正常工作,希望这对您有所帮助