【问题标题】:Xcode 14 and missing sync with CFBundleVersion edit in Info.plist during Build/ArchiveXcode 14 和在构建/存档期间缺少与 Info.plist 中的 CFBundleVersion 编辑同步
【发布时间】:2022-12-10 00:10:36
【问题描述】:
在我的 iOS 应用程序中,我有一个脚本(实际上是构建阶段)将目标的 Info.plist CFBundleVersion 升级为与 git 提交计数相关的数字。我已经使用了一段时间,它对我有用,从来没有问题。
在 Xcode 14 上,有些东西发生了变化并且脚本继续工作(我的意思是 .plist 文件已正确更新)但应用程序不再显示正确的内部版本号并且它在存档中也丢失了。
我将添加一些屏幕截图(一个空白的新项目,因此没有及时更改任何设置)。
这是 Xcode 14 中 Target 的常规选项卡
这是 Target 的信息标签
这是由 Build Phase Script 正确更新的 Info.plist 文件
在以前的 Xcode 版本中,在 Target 的常规选项卡上,我曾经将内部版本号与 .plist 文件中的内部版本号同步,并且在存档构建时也会同步。
现在,如果我尝试存档构建,它会显示为 1.0(1)。
我错过了什么还是我做错了什么?
希望你能听懂我的英语。
谢谢你的帮助。
【问题讨论】:
标签:
xcode
plist
xcode14
xcode-archive
【解决方案1】:
我使用 xcconfig 设置版本并在 Xcode 中构建。
在 Base.xcconfig 中设置
MARKETING_VERSION = 22.47.0
CURRENT_PROJECT_VERSION = 221125.1437
请注意,如果您使用 CocoaPods,您应该使用内容创建 Release 和 Debug xcconfig
调试.xcconfig
#include "../Pods/Target Support Files/Pods-{SET_PROJECT_HERE}/Pods-{SET_PROJECT_HERE}.debug.xcconfig"
#include "Base.xcconfig"
发布.xcconfig
#include "../Pods/Target Support Files/Pods-{SET_PROJECT_HERE}/Pods-{SET_PROJECT_HERE}.release.xcconfig"
#include "Base.xcconfig"
在 info.plist 中设置值
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<string>221125.1437</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
希望它的帮助