Xcode 9干净执行自定义命令

时间:2018-06-25 12:43:38

标签: xcode xcode9

我需要在Xcode(准确地说是Xcode 9)的干净步骤上运行自定义Shell脚本。我有一组生成文件的生成文件,最初,我是在运行脚本阶段调用此脚本的,但是这些生成文件的输出永远不会被清除。因此,尽管我在此脚本中处理了Xcode环境变量${ACTION},但它也可以清除它们。问题是-脚本不是在干净时调用的。

关于此的几篇文章,所以这是我尝试过的:

  1. 制定其他汇总目标。我添加了目标并放入了一个从构建环境处理${ACTION}的脚本,但是该脚本永远不会在清理后执行。清理时,构建日志中仅存在Clean.remove clean行。
  2. 建立一个外部构建系统目标(一些较早的文章指出了一个外部脚本目标,但是我在Xcode 9中找不到它)。然后,这允许我执行自定义脚本(如果我将默认的/usr/bin/make命令替换为脚本),但是在这种情况下,未设置${ACTION}环境变量(我在生成输出中对此进行了验证,它始终包含export ACTION=),因此我无法区分清理阶段和构建阶段。

关于聚合目标,如果我指定它们,则它具有输出文件属性-可以使Xcode清理它们吗?

1 个答案:

答案 0 :(得分:0)

有点僵尸,但最接近我所看到的问题。这似乎是新构建系统中的错误。使用旧的构建系统,可以设置操作。这里有两个选择:

  1. 使用旧版构建系统。
  2. 使用单独的外部目标来调用脚本,并手动传递所需的操作参数,并根据需要手动交换方案。