Scheme Script与Build Phase Script

时间:2012-10-25 09:47:57

标签: xcode

在我进行构建后,我想将一些文件复制到我的Xcode项目中。

我发现我可以在

中执行此操作
  1. 在“构建阶段”中使用自定义构建步骤。

  2. 我还可以在Scheme编辑器中的不同“任务”之前和之后执行脚本:

    • 构建(这是我可以添加脚本的地方)
    • 运行
    • 测试
    • 资料
    • 分析
    • 存档
  3. 我不完全理解这两种方法之间的差异/可能的含义,我想知道何时选择这两种方法。谢谢你的澄清。

2 个答案:

答案 0 :(得分:6)

  

在我进行构建之后,我想将一些文件复制到我的Xcode项目中。

我假设您要将文件复制到构建产品,而不是Xcode项目。

方案和构建阶段脚本之间存在一些细微差别。以下是其中一些:

  • Scheme脚本是该方案的一部分,因此与其他开发人员共享更具可配置性。另一方面,构建阶段脚本是目标的一部分,只需选择其他方案就不能跳过。
  • 方案脚本可以在依赖项检查之前运行。因此,您可以使用它们来修改源文件并获取最新结果。对于构建阶段脚本,这是不可能的。
  • 在环境变量中传递给脚本的信息略有不同。根据您需要的信息,您有时必须选择正确的脚本。
  • 仅当构建过程成功直到它们在目标中的位置时,才会有条件地运行构建阶段脚本。
  • 构建阶段脚本可以配置为仅在输入文件更改时运行。

答案 1 :(得分:1)

两者之间没有太大区别,但是您可以在构建顺序中更多地控制构建阶段脚本,因此这是可取的(例如,您可以修改已经通过标准复制的文件) Xcode构建阶段)。

我自己总是使用Build Phases脚本,并且从未使用过Scheme脚本。它们更明显,更易于管理。