RN:版本管理
背景我们 app 在打包上传的时候都是需要有版本号的,那么具体怎么设置呢IOS# Type a script or drag a script file from your workspace to insert its path.PACKAGE_VERSION=$(cat ../package.json | grep version | head -1 | awk -F: '{ print $2
·
背景
我们 app 在打包上传的时候都是需要有版本号的,那么具体怎么设置呢
IOS
# Type a script or drag a script file from your workspace to insert its path.
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}"
这里代码的意思是取 package.json 的 version,加入到 info.plist 的 CFBundleShortVersionString 字段。
CFBundleVersion与CFBundleShortVersionString的区别
CFBundleVersion:内部版本号。这是一个单调增加的字符串,用以记录开发版本的。
CFBundleShortVersionString:三个分隔的整数组成的字符串。如果你得版本1.1被打回了,不需要去修改CFBundleShortVersionString的值,只需要修改CFBundleVersion的值递增以下就OK了
Android
android/app/build.gradle 文件
def getAppVersion() {
def inputFile = new File("../package.json")
def packageJson = new groovy.json.JsonSlurper().parseText(inputFile.text)
return packageJson["version"]
}
def appVersion = getAppVersion()
这里也是读取 package.json 的 version,加入到 versionName 字段。
最后
只需要改变 package.json 文件的 version 字段,在打包的时候,对应的android和ios的版本自动就更改了
更多推荐
已为社区贡献4条内容
所有评论(0)