由于Xcode 11已经将Version更改为$(MARKETING_VERSION)& Build更改为$(CURRENT_PROJECT_VERSION)
内部版本设置中有新字段
我怎么能改变这个值与脚本由于xcrun agvtool new-version
xcrun agvtool new-marketing-version
在Xcode 10上不能完美工作
我试过这个https://stackoverflow.com/a/58164679/7332815但不工作
我只能得到正确的值
echo $versionNumber
echo $buildNumber
但我怎么给它设置新的值呢
2条答案
按热度按时间8yoxcaq71#
更新2022/08/19
如果使用fastlane到bumping版本
然后输入推荐行
bundle exec fastlane bump_version_and_build_number version:1.0.1
好吧,我为自己找到了一个解决方案,感谢meetup的一个朋友。
对于版本号x1c 0d1x,我使用了
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在Post中的回答
有了这些,我可以管理多目标的版本
p.s.如果你想这样做,例如,notificationService目标,记得首先更改版本和构建号手册,使Xcode 11将相应的值更改为像这样的变量
当然,你也可以通过在源代码中编辑plist来实现。
这是目前为止我实现的管理多目标版本控制的最接近的方法。
tvokkenx2#
下面的脚本将设置
$MARKETING_VERSION
和$CURRENT_PROJECT_VERSION
类似于xcode,并准备一个存档,最终也将出现在XCode Organizer中。