gpt4 book ai didi

ios - 在 Xcode 项目中构建所有目标(或方案)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:22 26 4
gpt4 key购买 nike

我有一个包含许多目标的 Xcode 项目。其中六个是使用构建阶段下的运行脚本构建最终发布产品(静态库、框架)的聚合。我可以单独构建它们,但我找不到任何方法来点击“一个按钮”来构建它们。

方法#1

首先,我尝试在命令行中使用 -alltargets,如下所示:

xcodebuild -project MyProject.xcodeproj -alltargets

我的测试目标出现错误,声称它们不是为测试而构建的。我不知道那是什么意思,因为他们通常会正确地“测试”。以这种方式尝试时会有所不同。但从技术上讲,它包括我不感兴趣的目标。如果它有效,我不会太介意。

方法#2

接下来我尝试制作一个聚合,它有一个单独构建每个聚合目标的运行脚本,如下所示:

xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget
xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget
xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget
xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget
xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget
xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget

从 Xcode 的角度来看,它没有收到任何错误,但是有几个聚合没有正确构建。我猜想,各个聚合中的运行脚本不知何故受到了顶级聚合的影响。

方法#3

接下来,我尝试制作一个新的“RELEASE_PRODUCTS”方案,该方案在构建部分列出了六个聚合。这样我就得到了这样的错误:

enter image description here

还有其他关于未在预期位置找到构建产品的模糊错误。

方法#4

接下来我创建了一个完全在 Xcode 之外运行的脚本,如下所示:

#!/bin/bash

# Builds all release products

xcodebuild -project MyProject.xcodeproj -target FirstAggregateTarget

xcodebuild -project MyProject.xcodeproj -target SecondAggregateTarget

xcodebuild -project MyProject.xcodeproj -target ThirdAggregateTarget

xcodebuild -project MyProject.xcodeproj -target FourthAggregateTarget

xcodebuild -project MyProject.xcodeproj -target FifthAggregateTarget

xcodebuild -project MyProject.xcodeproj -target SixthAggregateTarget

这似乎是唯一有效的方法。但我希望我可以在 Xcode 中使用它,如果我愿意的话,最好是我可以从命令行点击它,因为这样我就不必离开 IDE,它可以报告成功或失败。

最佳答案

您可以制作一个依赖于其他六个的虚拟目标。在构建阶段选项卡中使用目标依赖项

关于ios - 在 Xcode 项目中构建所有目标(或方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46984263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com