前言
最近看到的很多文章都有效率這個詞闺骚,意在程序員如何利用各種工具,來少做重復的事情;本著實踐的態(tài)度癌蚁,我寫了一個腳本唱遭,用來快速分析iOS開發(fā)中的crash日志戳寸。
對于iOS開發(fā)中的崩潰日志分析,這里有篇文章介紹的十分詳細:iOS開發(fā)技巧 - 崩潰分析拷泽。
腳本
#!/bin/bash
# 檢查 symbolicatecrash
echo "正在檢查symbolicatecrash路徑..."
symbolicatecrashPath=$(ls /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash)
if [[ ${#symbolicatecrashPath} -lt 1 ]];
then
echo "未發(fā)現symbolicatecrash疫鹊,請保證當前為Xcode8.0以上版本"
exit 0
fi
# 檢查當前路徑是否有dSYM
echo "正在檢查dSYM文件是否存在..."
dSYMPath=$(ls | grep \\.dSYM)
if [[ ${#dSYMPath} -lt 1 ]];
then
echo "腳本所在目錄無dSYM文件,請檢查后重試"
exit 0
fi
# 檢查當前文件夾是否存在.crash文件司致,并設置環(huán)境變量
files=$(ls | grep \\.crash | cut -f 1 -d .)
if [[ ${#files} -gt 0 ]];
then
echo "正在設置環(huán)境變量..."
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
else
echo "未發(fā)現.crash結尾的日志文件"
exit 0
fi
echo "正在創(chuàng)建輸出文件夾..."
mkdir symbol
# 根據DSYM生成symbol
for name in $files
do
echo "正在分析日志:$name.crash..."
$symbolicatecrashPath ./$name.crash ./dSYMPath > $(pwd)/symbol/$name"_symbol.crash"
done
echo "已經將分析后的文件輸出到symbol文件夾下"
大家可以下載腳本或新建一個文件拆吆,將其命名為do.sh
并將上述內容復制到其中,然后將.dSYM
文件脂矫、.crash
文件和該腳本放在同一個文件夾下(不需要將symbolicatecrash
放在其中)枣耀,然后進行如下步奏:
- 1、打開終端庭再,進入到腳本所在文件夾奕枢;
- 2、在終端中輸入:
sh do.sh
佩微,等待執(zhí)行完成缝彬,分析后的文件會在當前目錄的symbol
子目錄中。
結尾
希望這個腳本能在以后分析崩潰日志時節(jié)約一些時間哺眯,當然更重要的是踐行“效率”這個思想谷浅。