Settings.bundle版本号被强制更新为$(MARKETING_VERSION)

问题描述 投票:2回答:2

我有一个应用程序,当我从[]开始递增时会自动设置版本>

XCode>常规>版本

但是最近我已将XCode更新为11.0,似乎脚本无法按预期工作:

version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $SRCROOT/MyApp/Info.plist`
version+=" ("
version+=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $SRCROOT/MyApp/Info.plist`
version+=")"
/usr/libexec/PlistBuddy "$SRCROOT/MyApp/Settings.bundle/Root.plist" -c "set PreferenceSpecifiers:1:DefaultValue $version"

上面的脚本假设会自动更新版本,在“设置”>“应用程序中将是可见的。”>

enter image description here

但是问题是,此脚本需要进行任何更改以从XCode自动更新版本号吗?

当前版本从XCode>常规>版本

递增时,当前由脚本替换为$(MARKETING_VERSION),这是不正确的。

我有一个从XCode> General> Version递增时会自动设置版本的应用程序。但是最近我已将XCode更新为11.0,似乎脚本无法按预期工作:...

ios scripting versioning xcode11 settings.bundle
2个回答
1
投票

版本字符串$MARKETING_VERSION和内部版本号$CURRENT_PROJECT_VERSION现在在构建过程中作为环境变量公开,因为它们现在一直保存在.pbxproj配置中。

您应该能够实现所需的目标:


0
投票

它通过显示MARKETING_VERSION本身起作用:感谢@dgimb和@Mojtaba Hosseini的回答。

© www.soinside.com 2019 - 2024. All rights reserved.