xcconfig

369 阅读1分钟

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)**


优先级(由高到低):

  1. 手动配置Target Build Settings
  2. Target中配置的xcconfig文件
  3. 手动配置Project Build Settings
  4. Project中配置的xcconfig文件