背景

我们 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的版本自动就更改了

Logo

智屏生态联盟致力于大屏生态发展,利用大屏快应用技术降低开发者开发、发布大屏应用门槛

更多推荐