開發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,搞定!
