自己使用的一个脚本,自动获取ipa文件中第一个scheme
参数两个 :
FILE_URL:ipa的目录
fileMD5: ipa文件目录唯一标示
使用:
可以创建一个文件夹 test,ipa文件和本脚本放在test中
$ cd test
$ sh scheme.sh ***.ipa(ipa文件名) 1234(唯一标示)
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
#如果文件夹不存在,创建文件夹
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未设置scheme"
fi
if [ -n "$scheme" ]; then
echo $scheme
fi
cd $CURPATH
rm -rf $unzipDir
网友评论