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