18

我有一个 Xcode 项目 ( A) 引用了另一个项目 ( B)。默认情况下(据我所知)Xcode 将隐式构建与's 目标B的配置匹配的依赖项的配置A(例如,“调试”)。但是,如果我想A构建为“Debug”并且B构建为“Release”,该怎么办?我将如何在 Xcode 中指定它?

4

4 回答 4

5

我不知道有什么简单的方法,但是您可以通过使用“运行脚本”构建阶段直接调用 xcodebuild 来强制执行它。

我知道这只是一个例子,但如果您的真正目标是子项目是一个发布(无符号)构建,那么您可以通过将子项目构建到库或框架中并检查生成二进制文件到您的版本控制系统中。每当我有一个很少更改并且我不想要调试符号的系统时,我会继续将其构建为静态库并将其签入。我经常继续将代码移动到其他地方(使用一个带有 .a 的 README 文件,说明代码在哪里以及它是如何构建的)。这可以节省构建和签出的时间,并且根据我的经验对于大型项目来说是无价的。

于 2009-10-23T18:39:19.500 回答
4

这可能会有所帮助:如果A找不到项目的配置,Xcode 将构建Release配置作为后备(或者可能是列表的第一个配置)。

然后您可以使用此提示“强制”链接:Xcode custom build configuration 导致静态库的“library/file not found”

于 2013-02-15T10:04:35.880 回答
3

是的,这不是 Xcode 自然支持的;当您构建一个目标时,它会构建自己和所有依赖目标的一个配置。

正如 Rob 所提到的,解决方法是有一个依赖目标,它是一个聚合目标类型,它包含一个运行脚本构建阶段,它只是调用 xcodebuild -configuration Release(或其他)。

于 2009-10-23T23:44:18.320 回答
2

您可以在项目信息中指定默认的“回退”配置。

更改自:

使用“发布”进行命令行构建。

到:

使用“调试”进行命令行构建。

默认为“调试”。

项目文件的差异项目文件的差异

于 2019-10-31T09:38:41.957 回答