在XCode方案构建目标中构建排序

时间:2012-04-23 18:15:20

标签: xcode installer dependencies project

为了为我的程序构建安装程序,我添加了一个“安装程序”Xcode项目/目标,它将所有需要的二进制文件复制到一个临时位置,然后运行必要的逻辑来构建程序包。

我遇到的问题是我想直接映射此安装程序项目,这取决于其他一些项目,以便每次我尝试构建安装程序项目时都构建它们(如果需要)。

我将所有目标添加到安装程序的构建目标列表(在架构中),并按如下顺序排列:

Project A
Project B
Project C
Installer (self)

但是,当我进行干净的构建时,我会看到构建顺序(在构建日志中),如下所示:

Project C
Installer
Project A
Project B

我需要强制执行某个构建顺序,否则安装程序将无法使用这些文件。 XCode允许您在UI中更改这些项目的顺序,但顺序似乎没有做任何事情。有没有办法强制依赖的构建顺序?

2 个答案:

答案 0 :(得分:5)

  

XCode允许您更改UI中这些项目的顺序,但是顺序   似乎什么也没做。

就我而言,当" Parallelize Build"在计划#34; Build"标签。

禁用该复选框后,Xcode始终遵循我为目标选择的顺序。

如果你考虑它是有道理的:何时" Parallelize Build"启用后,所有没有依赖关系约束的目标将并行构建,这可能导致它们无序完成。

另一方面,如果您希望严格遵循顺序顺序,那么......这与 parallel 构建完全相反,因此你应该禁用该选项。

答案 1 :(得分:4)

为安装程序目标创建目标A,B和C目标依赖项,这将确保在安装程序之前构建A,B和C.从项目导航器中选择项目文件以打开项目编辑器。从目标列表中选择安装程序目标。单击编辑器顶部的Build Phases按钮以显示目标的构建阶段。单击Target Dependencies构建阶段旁边的显示三角形。单击+按钮添加依赖项。

添加目标依赖项时,将在安装程序之前构建目标A,B和C.如果您需要按特定顺序构建A,B和C,则必须添加更多目标依赖项。