Jenkins iOS Build - 将Jenkins内部版本编入app的主plist文件中

Rya*_*anD 4 xcode ios jenkins

所以我运行了一个Jenkins工作来构建我的iOS应用程序.我想获取自动递增的Jenkins内部版本号,并将其注入应用程序的主plist文件中(以便我可以在代码中读取它,以便在UI上显示).

这需要是Jenkins作业中指定的脚本,还是Xcode构建阶段?

我应该遵循什么流程?

Cor*_*ius 6

您可以使用agvtool自动增加内部版本号.此命令行工具是Xcode工具的一部分,因此您应该已经安装了它.

您需要在项目中做一些准备工作才能使agvtool工作:

  1. 在Xcode中打开您的项目,然后单击该项目
  2. 选择要为其设置构建版本的目标
  3. 转到"构建设置"并确保选中"全部"
  4. 向下滚动到Versioning并选择Apple Generic作为版本控制系统
  5. 将当前项目版本设置为1,还将项目概述(常规选项卡)中的内部版本号设置为相同的内部版本号

现在,您应该能够在项目文件夹中打开命令行并键入

agvtool what-version
Run Code Online (Sandbox Code Playgroud)

这将输出项目的当前版本(1).接下来转到Jenkins并添加Shell Script构建步骤.这应该在项目建成之前发生!

在此构建步骤中,您可以增加构建号:

agvtool next-version -all
Run Code Online (Sandbox Code Playgroud)

或设置特定版本:

agvtool new-version -all 10
Run Code Online (Sandbox Code Playgroud)

上面将版本设置为10.你也可以在这里使用Jenkins环境变量而不是10,${BUILD_NUMBER}例如.

-all开关还用于更新CFBundleVersion项目.