通過RunScript給iOS項目自增版本號(Versioin和Build)

需求分析

  • 在打包應用之后,需要自增 Version 的最后一位Build 的值。

  • 只在 Archive(Release) 的時候觸發該自增。

添加 RunScript

項目Target -> Build Phases -> 點擊+號 -> New Run Script Phase

然后添加如下內容:

if [ $CONFIGURATION == Release ]; then
    echo "當前為 Release Configuration,開始自增 Build"
    plist=${INFOPLIST_FILE}
    buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
    if [[ "${buildnum}" == "" ]]; then
        echo "Error:在Plist文件里沒有 Build 值"
        exit 2
    fi
    buildnum=$(expr $buildnum + 1)
    /usr/libexec/PlistBuddy -c "Set CFBundleVersion $buildnum" "${plist}"

    echo "開始自增 Version 最后一位"
    versionNum=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plist}")
    thirdPartVersonNum=`echo $versionNum | awk -F "." '{print $3}'`
    thirdPartVersonNum=$(($thirdPartVersonNum + 1))
    newVersionStr=`echo $versionNum | awk -F "." '{print $1 "." $2 ".'$thirdPartVersonNum'" }'`
    /usr/libexec/PlistBuddy -c "Set CFBundleShortVersionString $newVersionStr" "${plist}"
else
    echo $CONFIGURATION "當前不為 Release Configuration"
fi

注意

因為我的版本號是xx.xx.xx這樣的形式,所以我以 . 拆分版本號后,取出第三個值來增加,最后再拼接回來。

versionNum=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plist}")
# 這里取出第三個值
thirdPartVersonNum=`echo $versionNum | awk -F "." '{print $3}'`
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容