在Git或其他SCM中标记XCode的Archive构建

时间:2014-12-05 23:42:33

标签: xcode git version-control build

我希望我的XCode Archive构建能够自动标记我的SCM(此项目中的Git)。

我注意到在架构编辑器中,存档构建可以运行前后步骤构建脚本。如果仅在构建成功的情况下运行后期步骤,然后标记可以去那里,那将是理想的。

我希望标签名称引用构建配置的名称(我有TestFlight和AppStore配置,以及通常不会存档的Debug和Release),以及版本号。已建,还有内部版本号。标记可能类似于:TestFlight_2.1.3_#11AppStore_2.9.0_#3

在XCode的项目设置中,您可以使用变量替换,例如$(BUILD_CONFIGURATION)这些可以在存档构建脚本中使用吗?

我也不确定应用程序的当前版本字符串和内部版本号是否存在变量。如果有的话我就找不到了。

2 个答案:

答案 0 :(得分:1)

  

在XCode的项目设置中,您可以使用变量替换,例如$(BUILD_CONFIGURATION)。这些可以在Archive构建脚本中使用吗?

是。构建设置可用作脚本的环境变量,这些脚本作为“运行脚本构建阶段”的一部分运行。查看设置变量的简单方法(如果您不信任构建日志输出)只是将env放入脚本中以将其打印出来,或env > environment.txt如果要保存它们到文件。

  

我也不确定当前版本字符串和App的内部版本号是否有变量。如果有的话我就找不到了。

没有。但是,如果要检索当前版本,可以从项目的Info.plist文件中获取它(并且应该有一个环境变量指向活动项目的文件)。

Xcode Archive没有当前内部版本号的概念。通常你使用一个脚本从其他来源(Xcode Server,磁盘上的计数器,等等)中找出内部版本号,然后将Info.plist中的CFBundleVersion键设置为该数字。

答案 1 :(得分:0)

我发现了这个: https://github.com/bejo/XcodeIconTagger

显然这并不是你提出的要求,因为这会标记图标,但你可以用它来指向正确的方向。