【发布时间】:2012-10-31 16:56:45
【问题描述】:
场景:
我有TargetA,这是一个 iOS 应用程序。这个应用程序使用一个静态库,由TargetB 编译。
显然,TargetB 是TargetA 的依赖,而TargetB 总是在TargetA 之前构建。到目前为止一切顺利。
现在,我想要一个运行TargetA 的脚本,但甚至在TargetB 之前。
我尝试了什么:
- 添加“设置”聚合/外部构建目标,并使其成为
TargetA的依赖项。它成功了一半:Xcode 同时运行setup和TargetB,所以TargetB可能构建得太早了。不够好。 - 相同,但在方案中指定不要并行构建。这可行,但很浪费,因为还有其他目标可以并行构建。
- 在方案内的
pre-action构建步骤中运行脚本。这可行,但似乎错误(为什么?该步骤的输出不会进入构建日志;所以也许我不打算以这种方式使用它?)。
我不想做的事:
将脚本添加为TargetB 的依赖项。这会奏效;但是TargetB实际上来自另一个子项目,在构建它的上下文中,脚本的参数是未知的(主要是TargetA的项目的根目录)。
我是否遗漏了什么,或者我必须满足于上面的#2 或#3?
编辑: 在上面的选项 #2 中,更改依赖项的顺序(在我的情况下,在 Setup 和 TargetB 之间没有帮助 - Xcode 仍然任意选择顺序。 p>
【问题讨论】: