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

时间:2010-08-12 17:00:21

标签: iphone xcode xcodebuild

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

BUNDLE_VERSION=`date "+%y%m%d"`

2 个答案:

答案 0 :(得分: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 :(得分:1)

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