复制目标的构建设置并将其以纯文本格式粘贴到xcconfig文件中时,将找到按每个构建配置的条件划分的输出,例如:
//:configuration = Debug
SETTING = value
SETTING = value
SETTING = value
//:configuration = Release
SETTING = value
SETTING = value
SETTING = value
//:completeSettings = some
SETTING
SETTING
SETTING
有关如何使用“:configuration”指令的一些问题:
如果我在同一个文件中的所有设置之上指定一个设置,它将适用于所有构建配置吗?
我认为它们适用于它们下面的一组设置,但是它们适用于空行之后的设置吗?
简短答案:
注释既不是条件,也不是指令。它们只是注释,用于阐明后面条目适用于什么构建配置。复制目标的完整构建设置时,结果文本并不表示将在单个xcconfig文件中使用。相反,它可以用于提取不同配置文件所需的元素。注释使查找特定构建配置所需的设置变得容易。
因此,如果将xcconfig文件分配给目标的Debug构建配置,则可以将其下的设置复制//:configuration = Debug
到该文件,然后根据需要在该文件中进行任何更改。
长答案:
您可以为每个目标的每个构建配置恰好分配一个xcconfig文件。
(您可以在项目的信息编辑器中的Configurations下执行此操作,在其中可以找到配置列表,可以在其中扩展每个配置以显示包含项目及其目标的列表。您可以为每个配置分配一个配置文件通过从配置文件列表中选择这些文件。列出的配置文件包括您添加到项目中的所有配置文件。)
在分配的xcconfig文件中列出的设置将用于为其分配到的目标和构建配置组合的构建设置的构建中,并且将反映在Xcode的“构建设置”编辑器中。构建系统使用配置设置的层次结构,该层次结构用于构造最终将应用的设置。
*(您可以在Xcode构建设置编辑器中看到的所有内容都可以在Xcode构建设置编辑器中选择All和Levels来看到。)构建系统以该平台的默认设置(例如iOS Default)开始。这些可以通过在项目级别的设置进行更改,然后通过在目标级别的设置进行更改。最终,“构建设置”编辑器列出了“已解决的”设置,以便您可以准确地看到要应用的设置。)*
设置按以下顺序应用,其中每个后续条目将覆盖以前的设置:
Default -> Project Config File -> Project -> Target Config File -> Target.
因此,例如,如果您在分配给用于特定构建配置的项目的配置文件中指定有效架构,则该设置将覆盖默认设置。但是,如果在Xcode的构建设置编辑器中为项目级别的设置指定了另一个值,则该值将覆盖xcconfig文件中指定的值。接下来,如果在xcconfig文件中存在用于该构建配置的目标的条目,则将应用该值,除非该值在构建设置编辑器中被目标级别的该设置的值覆盖。(感到困惑吗?
如我所写,每个目标/构建配置组合只能应用一个xcconfig文件。幸运的是,xcconfig文件可以导入其他xcconfig文件,以便可以将设置组合并到逻辑单元中,然后导入到最终xcconfig文件中,这些文件将分配给目标/构建配置。如果要了解有关xcconfig文件内容的更多信息,请在此处查看:xcconfig文件的非官方指南
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句