什么是Xcode的搜索路径设置中的$(继承)?

Mar*_*ger 45 xcode

什么是$(inherited)搜索路径设置?

我已经修改了关于OpenSSL for iPad的标题和库搜索路径设置,这个问题以及给定路径的递归选项是主要的罪魁祸首.

当我重新安排我的搜索路径以首先查看目录然后进入时$(inherited),iPad版本正在运行.

小智 40

我也在寻找文档.但是我获得了经验,$(inherited)可用于从项目级别继承构建设置到目标级别.在项目级别定义库或标题搜索路径时,可以$(inherited)在目标构建设置中使用这些搜索路径在项目目标的搜索路径中使用这些搜索路径.


onm*_*133 32

如果转到"目标构建设置",请切换到"级别"视图

替代文字

您可以看到inherited从右到左的流程

Resolved <- Target <- xcconfig <- Project <- iOS Default
Run Code Online (Sandbox Code Playgroud)

所以在inheritedTarget中意味着Target继承了xcconfig和Project的设置

  • xcconfig在哪里/什么? (2认同)

lal*_*lal 6

通过在xcconfig文件中重新分配该变量的值来覆盖在项目或目标级别设置的构建设置变量的示例。

// Variable set in the project file, previous level
OTHER_LDFLAGS = -ObjC

// lib.xcconfig
OTHER_LDFLAGS = -framework Security
Run Code Online (Sandbox Code Playgroud)

^以此编译时,OTHER_LDFLAGS的先前值-ObjC将被新值覆盖-framework Security

通过附加到xcconfig文件中该变量的先前值来继承在Project或Target级别上设置的构建设置变量的示例。可以将其$(inherited)视为一个特殊的变量,该变量可用于获取变量的现有值,因此分配给同一变量不会造成破坏。

// Variable set in the project file, previous level
OTHER_LDFLAGS = -ObjC

// lib.xcconfig
OTHER_LDFLAGS = $(inherited) -framework Security
Run Code Online (Sandbox Code Playgroud)

^以此编译时,OTHER_LDFLAGS的值将为-ObjC -framework Security

可在https://pewpewthespells.com/blog/xcconfig_guide.html找到示例