16

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

我发现我可以做到这一点

  1. 在具有自定义构建步骤的“构建阶段”中。

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

    • 构建(这是我可以添加脚本的地方)
    • 测试
    • 轮廓
    • 分析
    • 档案

我不完全理解这两种方法之间的差异/可能的影响,我想知道何时选择任何一种方法。感谢您的澄清。

4

2 回答 2

10

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

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

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

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

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

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

于 2012-10-25T09:55:19.133 回答