自动从ipa中获取scheme

2021-01-21  本文已影响0人  revivefsd

自己使用的一个脚本,自动获取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

上一篇 下一篇

猜你喜欢

热点阅读