xcconfigs:如何为一个目标设置多个配置

Posted

技术标签:

【中文标题】xcconfigs:如何为一个目标设置多个配置【英文标题】:xcconfigs: How to set up multiple configurations for a target 【发布时间】:2014-02-06 01:08:23 【问题描述】:

我无法通过 Xcode UI 判断我的目标是同时使用WarningsPods xcconfigs,还是只使用一个。

我查看了 Xcode 中的构建日志,搜索 xcconfig 名称为空。我怎么知道幕后发生了什么?

Xcode 的过滤构建日志没有显示任何配置文件的结果:

【问题讨论】:

这个总是让我有点心动,我相信只有在没有特定的次要设置来取代它的情况下才使用主要设置,例如:如果 Pods 不使用,它将使用警告设置存在。 【参考方案1】:

项目基于“警告”和“Pods”上的目标。设置仍然从项目级联到目标,但在此示例中,“Pods”不适用于任何项目。通常,我会维护最适合“种子”项目设置的 xcconfig 文件集和适合种子目标的单独文件。

另请注意,构建设置传播与构建分开发生。对 xcconfig 文件的更改将立即影响项目和目标设置。这就是为什么您不会在构建日志中看到任何关于它们的信息。

认为目标构建的所有设置都源自目标设置,这些目标设置可能继承自项目设置,而项目设置继承自系统默认设置。然后独立于将 xcconfig 文件视为在项目或目标级别自动施加设置的一种方式,其优先级低于您在设置 UI 中进行的手动编辑。

看到了吗?简单的。 ;)

【讨论】:

【参考方案2】:

    是的,它们是遗传的。

    有两种判断方式:

方法 a):查看目标的构建设置。

要了解是否为以下RACTest 目标设置了Warnings.xcconfig

我们从鼠标悬停的下拉列表中选择RACTest 目标(第一个屏幕截图中出现“选择项目或目标”悬停文本):

在所有构建设置的组合视图下,您会看到右侧列出的xcconfig

如果您选择构建设置并选择项目,您还会在***项目目标下看到 xcconfig

方法 b):在构建日志中搜索您的 xcconfig 中设置的属性。

【讨论】:

以上是关于xcconfigs:如何为一个目标设置多个配置的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Xcode 9 中更改每个方案的 .xcconfig 文件?

目标 ... 覆盖在 `Pods/Pods.xcconfig 中定义的 `OTHER_LDFLAGS` 构建设置

如何为不同的目标设置不同的 .entitlements 文件

无论在android中垂直对齐的字数如何,如何为多个文本视图设置相等的宽度?

有关如何为一个 amazon lightsail 实例配置多个/2 域的任何文档

具有多个 .xcconfig 文件和 cocoapods 的复杂 Xcode 项目