如何使用脚本更改 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 来实现。
这是迄今为止我实现的最接近的管理多目标版本控制的方法。
因为 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 来实现。
这是迄今为止我实现的最接近的管理多目标版本控制的方法。