美文网首页
自动从ipa中获取scheme

自动从ipa中获取scheme

作者: revivefsd | 来源:发表于2021-01-21 19:37 被阅读0次

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

    相关文章

      网友评论

          本文标题:自动从ipa中获取scheme

          本文链接:https://www.haomeiwen.com/subject/nvbdzktx.html