自動(dòng)從ipa中獲取scheme

自己使用的一個(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容