如何在Xcode中动态填充Info.plist值?

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

无法弄清楚如何使用$ {BUNDLE_VERSION}动态填充CFBundleVersion,我想将其定义为

BUNDLE_VERSION=`date "+%y%m%d"`
iphone xcode xcodebuild
2个回答
2
投票

如果您使用xcodebuild进行命令行构建,则可以执行类似的操作

xcodebuild -target MyApp -configuration AppStore BUNDLE_VERSION=`date "+%y%m%d"`

但是,我建议不要这样做。 App Store应用程序有三个版本:

  • iTunes Connect版本号(这是通常向用户显示的唯一版本号)
  • CFBundleVersion
  • CFBundleShortVersionString

我认为他们都应该是[0-9]+.[0-9]+(.[0-9]+)?的形式。为了避免混淆,我将它们设置为App Store构建的相同内容(我们在错误报告中包含CFBundleVersion / CFBundleShortVersionString,如果它们与CFBundleVersion匹配则很好)。非App Store构建可以包含更多信息,因为它们不需要提交。

我不知道iTunes Connect是否允许您使用不包含“。”的CFBundleVersion提交应用程序,但我还没有对此进行广泛测试。


1
投票

您需要一个Xcode配置文件和一个在构建时设置的配置变量。这是Diego Massanti博客上的described in some detail。您需要修改他描述的构建阶段,将变量设置为当前日期,而不是增加现有值。

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