【问题标题】:Automating Xcode Build Information Modifications via TeamCity通过 TeamCity 自动修改 Xcode 构建信息
【发布时间】:2015-03-19 22:03:27
【问题描述】:

将直截了当的 XCode 与 TeamCity 集成非常直截了当。使用最新版本,它对构建 iOS 项目的原生支持似乎很好。

但是,如何在构建之前自动修改项目本身呢?比如:

  • 根据 TeamCity 值设置版本字符串/构建计数器
  • 根据配置类型设置构建标识符

解决此问题的最佳做法是什么?当然,我可以通过脚本编写和修改 Xcode 项目,但这看起来很混乱且容易出错。

还有其他选择吗?

是否可以让Bundle IdentifierVersionBuild 等从我可以在构建之前作为构建步骤创建的外部文件中提取它们的值?

另外 - 是否有任何 API 允许 TeamCity 存档应用并将其提交到(Apple)TestFlight?

【问题讨论】:

    标签: ios continuous-integration teamcity


    【解决方案1】:

    您可以轻松地使用脚本来设置捆绑 ID、版本和内部版本号 - 这些都存储在 Info.plist 文件中,该文件只是一个常规属性列表 (XML) 文件。

    您可以在此处找到一个示例脚本,它将内部版本号设置为我们的continuous integration service 的相关环境变量:https://github.com/bitrise-io/bitrise-script-collection/blob/master/bash/set_xcode_project_build_number.sh

    关于 iTunes Connect 部署:没有官方 API 可以将应用程序部署到新的 Apple 服务,但您可以找到一些可以提供此功能的 gem。我们使用shenzhendeliver,通过Bitrise/Open Step Lib build - steps

    【讨论】: