自己使用的一個(gè)腳本,自動(dòng)獲取ipa文件中第一個(gè)scheme
參數(shù)兩個(gè) :
FILE_URL:ipa的目錄
fileMD5: ipa文件目錄唯一標(biāo)示
使用:
可以創(chuàng)建一個(gè)文件夾 test,ipa文件和本腳本放在test中
$ cd test
$ sh scheme.sh ***.ipa(ipa文件名) 1234(唯一標(biāo)示)
scheme.sh如下:
#/bin/bash
FILE_URL=$1
fileMD5=$2
EXTRACT_DIR=Extract/
CATALOG=Payload/
CURPATH=`pwd`
unzipDir="$CURPATH/unzipipa/$fileMD5"
# echo "current ptah: $CURPATH"
#解壓文件
if [ ! -n "$FILE_URL" ] ;then
echo "error: you have not input file url"
exit
else
#如果文件夾不存在,創(chuàng)建文件夾
if [ ! -d "$CURPATH/unzipipa/$fileMD5" ]; then
mkdir -p $CURPATH/unzipipa/$fileMD5
fi
# echo "unzip dir: $unzipDir"
unzip -q -o -d $unzipDir $FILE_URL
cd $unzipDir
fi
#獲取目錄中的.app文件名字
# appDir="./$CATALOG`ls ./$CATALOG`"
if [ -d "./$CATALOG" ];then
appDir="./$CATALOG`ls ./$CATALOG`"
else
echo "error:沒有app文件"
exit
fi
#echo "./$CATALOG`ls ./$CATALOG`"
#echo ${pwd}
#判斷.app文件是否存在
if [ ! -n $appDir ];then
echo "error:沒有app文件"
exit
fi
#地址拼接
lcmInfoPlist="${appDir}/Info.plist"
#判斷info.plist是否存在
if [ ! -n $lcmInfoPlist ];then
echo "error:沒有Info.plist文件"
exit
fi
#echo "info.plist文件路徑 lcmInfoPlist : $lcmInfoPlist"
#讀取plist
scheme=`/usr/libexec/PlistBuddy -c "Print CFBundleURLTypes:0:CFBundleURLSchemes:0" ${lcmInfoPlist}`
#判斷scheme是否存在
if [ -z "$scheme" ]; then
echo "error:ipa未設(shè)置scheme"
fi
if [ -n "$scheme" ]; then
echo $scheme
fi
cd $CURPATH
rm -rf $unzipDir