无法弄清楚如何使用$ {BUNDLE_VERSION}动态填充CFBundleVersion,我想将其定义为
BUNDLE_VERSION=`date "+%y%m%d"`
如果您使用xcodebuild进行命令行构建,则可以执行类似的操作
xcodebuild -target MyApp -configuration AppStore BUNDLE_VERSION=`date "+%y%m%d"`
但是,我建议不要这样做。 App Store应用程序有三个版本:
我认为他们都应该是[0-9]+.[0-9]+(.[0-9]+)?
的形式。为了避免混淆,我将它们设置为App Store构建的相同内容(我们在错误报告中包含CFBundleVersion / CFBundleShortVersionString,如果它们与CFBundleVersion匹配则很好)。非App Store构建可以包含更多信息,因为它们不需要提交。
我不知道iTunes Connect是否允许您使用不包含“。”的CFBundleVersion提交应用程序,但我还没有对此进行广泛测试。
您需要一个Xcode配置文件和一个在构建时设置的配置变量。这是Diego Massanti博客上的described in some detail。您需要修改他描述的构建阶段,将变量设置为当前日期,而不是增加现有值。