Ios 如何使xcode在依赖项之前运行脚本?
情景: 我有Ios 如何使xcode在依赖项之前运行脚本?,ios,xcode,build,Ios,Xcode,Build,情景: 我有TargetA,它是一个iOS应用程序。此应用程序使用由TargetB编译的静态库。 显然,TargetB是TargetA的依赖项,并且TargetB总是在TargetA之前构建。到目前为止还不错 现在,我想要一个脚本来运行TargetA,但是甚至在TargetB之前 我尝试的是: 添加“设置”聚合/外部构建目标,并使其成为TargetA的依赖项。它工作了一半:Xcode同时运行setup和TargetB,因此TargetB可能构建得太早了。还不够好 相同,但在方案中指定不并行构建。
TargetA
,它是一个iOS应用程序。此应用程序使用由TargetB
编译的静态库。
显然,TargetB
是TargetA
的依赖项,并且TargetB
总是在TargetA
之前构建。到目前为止还不错
现在,我想要一个脚本来运行TargetA
,但是甚至在TargetB
之前
我尝试的是:
TargetA
的依赖项。它工作了一半:Xcode同时运行setup
和TargetB
,因此TargetB
可能构建得太早了。还不够好预操作
构建步骤中运行脚本。这是可行的,但似乎是错误的(为什么?该步骤的输出没有进入构建日志;所以也许我不打算这样使用它?)TargetB
的依赖项。这是可行的;然而,TargetB
实际上来自另一个子项目,在构建它的上下文中,脚本的参数还不知道(主要是TargetA
项目的根目录)
我是否遗漏了什么,或者我必须满足于2或3以上
编辑:在上面的选项2中,更改依赖项的顺序(在我的例子中,在
Setup
和TargetB
之间没有帮助——Xcode仍然可以任意选择顺序。在方案中运行脚本作为预操作
构建步骤是实现所需的最佳方法。这种方法的一个常见用法是根据源代码管理调整项目的构建编号state()。不幸的是,就捕获脚本输出而言,您唯一能做的就是。该日志文件可能是您项目的一部分,因此从Xcode可以轻松查看。这对我帮助很大,请参阅此处的完整设置: