通过 TeamCity 自动执行 Xcode 构建信息修改
Automating Xcode Build Information Modifications via TeamCity
将直接 XCode 与 TeamCity 集成非常简单。使用最新版本,它对构建 iOS 项目的原生支持似乎不错。
但是,在构建之前自动对项目自身进行修改怎么样?像这样的东西:
- 根据 TeamCity 值设置版本字符串/构建计数器
- 根据配置类型设置构建标识符
解决这个问题的最佳做法是什么?当然,我可以 shell 出来并通过脚本修改 Xcode 项目,但这看起来很乱而且容易出错。
还有其他选择吗?
是否可以让 Bundle Identifier
、Version
、Build
等从我可以在构建之前作为构建步骤创建的外部文件中提取它们的值?
此外 - 是否有任何 API 允许 TeamCity 存档并将应用程序提交到 (Apple) TestFlight?
您可以轻松地使用脚本来设置包 ID、版本和内部版本号 - 这些都存储在 Info.plist 文件中,这只是一个常规的 属性 列表(XML ) 文件。
您可以在此处找到示例脚本,它将内部版本号设置为我们的 continuous integration service's related environment variable: https://github.com/bitrise-io/bitrise-script-collection/blob/master/bash/set_xcode_project_build_number.sh
关于 iTunes Connect 部署:没有官方 API 将应用程序部署到新的 Apple 服务,但您可以找到一些可以提供此功能的 gem。我们使用 shenzhen and deliver, through Bitrise/Open Step Lib build - steps.
将直接 XCode 与 TeamCity 集成非常简单。使用最新版本,它对构建 iOS 项目的原生支持似乎不错。
但是,在构建之前自动对项目自身进行修改怎么样?像这样的东西:
- 根据 TeamCity 值设置版本字符串/构建计数器
- 根据配置类型设置构建标识符
解决这个问题的最佳做法是什么?当然,我可以 shell 出来并通过脚本修改 Xcode 项目,但这看起来很乱而且容易出错。
还有其他选择吗?
是否可以让 Bundle Identifier
、Version
、Build
等从我可以在构建之前作为构建步骤创建的外部文件中提取它们的值?
此外 - 是否有任何 API 允许 TeamCity 存档并将应用程序提交到 (Apple) TestFlight?
您可以轻松地使用脚本来设置包 ID、版本和内部版本号 - 这些都存储在 Info.plist 文件中,这只是一个常规的 属性 列表(XML ) 文件。
您可以在此处找到示例脚本,它将内部版本号设置为我们的 continuous integration service's related environment variable: https://github.com/bitrise-io/bitrise-script-collection/blob/master/bash/set_xcode_project_build_number.sh
关于 iTunes Connect 部署:没有官方 API 将应用程序部署到新的 Apple 服务,但您可以找到一些可以提供此功能的 gem。我们使用 shenzhen and deliver, through Bitrise/Open Step Lib build - steps.