如何使用脚本更改 Xcode 11 中的构建设置版本控制?

How to change build setting versioning in Xcode 11 using script?

因为 Xcode 11 已将版本更改为 $(MARKETING_VERSION) 并将构建更改为 $(CURRENT_PROJECT_VERSION)

构建设置中有新字段

由于

,我如何使用脚本更改此值

xcrun agvtool new-version

xcrun agvtool new-marketing-version

无法像在 Xcode 10

上那样完美运行

我试过这个但没用

我只能从

得到正确的值
echo $versionNumber 
echo $buildNumber

但我如何为其设置新值?

okey 我找到了自己的解决方案,感谢 meetup 的朋友。

为版本号 我用了 sed -i '' -e 's/MARKETING_VERSION \= [^\;]*\;/MARKETING_VERSION = 3.4.5;/' ${YOUR_PROJECT_NAME}.xcodeproj/project.pbxproj

例如sed -i '' -e 's/MARKETING_VERSION \= [^\;]*\;/MARKETING_VERSION = 3.4.5;/' DemoProject.xcodeproj/project.pbxproj

请注意,这在方案设置的预操作中不起作用

关于构建版本 我用了 xcrun agvtool new-version xxx

例如xcrun agvtool new-version 3.4.5b

你可以在构建阶段写这些命令

我不使用 xcrun agvtool new-marketing-version 3.4.5b 的原因是它会将固定数字写入 plist。

我同意 Manuel 在

中的回答

有了这些我可以管理多目标的版本控制

p.s。如果你想这样做,例如 notificationService 目标,请记住首先更改版本和内部版本号手册以使 Xcode 11 将相应的值更改为这样的变量

当然,您也可以通过在源代码中编辑 plist 来实现。

这是迄今为止我实现的最接近的管理多目标版本控制的方法。