最近遇到个版本更新问题,新版本总是没办法覆盖旧版本,导致测试出现一些问题。
在Flutter中,版本号一般是在pubspec.yaml中设置的,如version: 1.0.0+1。+号后面的就是版本号。Android打包回自动更新versionCode,但是ios总是返回1。
通过查看Info.plist文件,发现版本号的取值是CURRENT_PROJECT_VERSION
<key>CFBundleVersion</key> <string>$(CURRENT_PROJECT_VERSION)</string>
这个变量是在ios下的Runner.xcodeproj的project.pbxproj文件定义的,它的值是固定值1,所以导致了打包后版本号没有更新的问题。
只要重新赋值为$(FLUTTER_BUILD_NUMBER)就可以了。
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";