react-native android/ios 根據配置文件編譯時自動修改版本號


開發react-native時大都有過這個操作,當版本迭代時候要修改app版本號時,一般都這樣做

Android

的要修改build.gradle文件的versionName

 

 

ios:

打開xcode修改Info.plist的Bundle versions string, short

這過程特別繁瑣。。。無法忍受

接下來,稍微改一下,讓每次編譯的時候自動從配置文件讀取並寫入相應的地方

首先,先在package.json配置版本

{
  "name": "you app name",
  "version": "1.0.1"
}

  

Android:

直接在./android/app/build.gradle進行修改,這樣每次編譯就會自動讀取並寫入

//獲取配置文件的版本信息

def getAppVersion() {
    def inputFile = new File("../package.json")
    def packageJson = new JsonSlurper().parseText(inputFile.text)
    return packageJson["version"]
}

def appVersion = getAppVersion()

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        versionName appVersion
    }
}

  

IOS:

ios並沒有像build.gradle這樣的文件,所以要想其他法子

打開xcode,TARGETS->Build Phases->添加Run Script

添加sell代碼

PACKAGE_VERSION=$(cat ../package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]')

/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $PACKAGE_VERSION" "${PROJECT_DIR}/${INFOPLIST_FILE}"

  

 

OK,搞定!  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM