作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
场景:
我有 TargetA
,它是一个 iOS 应用程序。这个应用程序使用一个静态库,由 TargetB
编译。显然,TargetB
是TargetA
的依赖,而TargetB
总是在TargetA
之前构建。到目前为止一切顺利。
现在,我想要一个运行的脚本 TargetA
已构建,但 甚至在 TargetB
之前。
TargetA
的依赖项。成功了一半:Xcode 同时运行 setup
和 TargetB
,所以 TargetB
可能构建得太早。不够好。pre-action
构建步骤中运行脚本。这可行,但似乎错误(为什么?该步骤的输出不会进入构建日志;所以也许我不打算以这种方式使用它?)。将脚本添加为 TargetB
的依赖项。这会奏效;然而,TargetB
实际上来自另一个子项目,在构建它的上下文中,脚本的参数是未知的(主要是TargetA
的根目录项目)。
我错过了什么,还是我必须满足于上面的#2 或#3?
EDIT: 在上面的选项 #2 中,更改依赖关系的顺序(在我的情况下,在 Setup
和 TargetB
之间没有帮助 - - Xcode 还是任意选择顺序。
最佳答案
在方案中将脚本作为 pre-action
构建步骤运行是实现您想要的最佳方式。这种方法的一个常见用途是根据源代码控制状态 (example) 调整项目的内部版本号。至于捕获脚本输出,不幸的是,您唯一能做的就是 redirect stdout for the script to a log file .该日志文件可能是您项目的一部分,因此很容易从 Xcode 中查看。
关于ios - 如何让 xcode 在依赖项之前运行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340823/
我是一名优秀的程序员,十分优秀!