xcconfig
Xcode Build Settings 查找路径 配置文件由一系列键值分配组成,这些键值分配有一下语法。
HOST_URL = 12367
xcconfig文件只有一种注释方式 //
include导入
绝对路径
# include "/Users/ws/Desktop/Pods/Target Support Files
相对路径
${SRCROOT} // 工程文件路径
// xcode 内置变量 表示路径
MACH_PATH=${BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/*
变量
变量定义按照OC命名规则,仅由大写字母,数字,下划线,组成。字符串可以是 " ,也可以是 '
一.在xcconfig中定义的变量与Build Settings的一致,那么会覆盖。可以通过$(inherited)让当前变量继承变量原有值。如:
OTHER_LDFLAGS = -framework SDWebImage
OTHER_LDFLAGS = $(inherited) -framework AFNetworking
// OTHER_LDFLAGS = -framework SDWebImage -framework AFNetworking
**注意:有部分变量不能通过xcconfig配置到Build Settings中,如:配置PRODUCT_BUNDLE_IDENTIFIER不起作用**
二.引用变量,$() 和 ${}两种写法都可以
VALUE=Cat
TEACHER=$(VALUE)-${VALUE}
三.条件变量,根据SDK, Arch, Configration对设置进行条件化,如:
//指定'Configration'是'Debug'
//指定'SDK'是模拟器,还是iphoneos*,macosx*等
//指定生效架构是'x86_64'
OTHER_LDFLAGS[config=Debug][sdk=iphonesimulator*][arch=x86_64]=$(inherited) -framework "Cat"
**注意:在Xcode 11.4及以后版本,可以使用default,指定变量为空时的默认值:$(BUILD_SETTING_NAME:default=value)**
优先级(由高到低):
- 手动配置Target Build Settings
- Target中配置的xcconfig文件
- 手动配置Project Build Settings
- Project中配置的xcconfig文件