Flutter iOS应用程序版本和构建号在xCode存档时未更新

19
当我在xCode中归档我的iOS应用程序以上传到Apple应用商店时,它停止获取正确的版本号和构建号。

enter image description here

我的 pubspec.yaml 文件中的数字是正确的:

version: 1.0.9+11

在 xCode 中看起来没问题,但一旦归档就不对了:

enter image description here

4个回答

46

在打开Xcode并运行存档之前,我需要运行flutter build ios。现在版本号是正确的。


这对我有用,谢谢!XCode 15,Flutter >=3.10.0 - undefined

22

如果你在执行已接受答案中提到的命令后仍然遇到此问题,你应该尝试手动编辑 info.plist 文件:

info.plist 中使用以下字符串:

对于 CFBundleShortVersionString,使用 --> $(MARKETING_VERSION)

对于 CFBundleVersion,使用 --> $(CURRENT_PROJECT_VERSION)

这就是我解决这个问题的方法。希望能帮到你。


提示:假设您尝试通过 Xcode 进行更改



1
这对我有用。谢谢。 - khatzie

5
这是对 aligursamad shukr 答案的延伸。我不得不再次更改一些细节,使其重新工作。
你需要修改 ios/Runner/Info.plist 文件中的 CFBundleShortVersionStringCFBundleVersion 键:
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>

而且 ios/Runner.xcodeproj/project.pbxproj
有多行包含 CURRENT_PROJECT_VERSION = ...,所有这些行都必须替换为 CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; 并删除所有包含字段 FLUTTER_BUILD_NUMBERMARKETING_VERSION 的行(如果没有出现这些字段,则说明你没有搞砸)。

谢谢,对我也起作用!如果你通过Xcode做同样的事情,那就更容易了:进入Runner。在下方的“Targets”部分选择Runner。然后打开“Build Settings”选项卡,向下滚动到“Versioning”部分。在“Marketing Version”下编辑你的版本号,Xcode会自动更新所有相关行。 - undefined
好知道,我对Xcode还不是很熟悉。 - undefined

0
我通过打开info.pilist文件,搜索这两个键并删除它们来解决了这个问题。
然后添加这个
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>

<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接