Xcconfig 使用
Xcconfig主要是用于在不同mode下采用不同的配置。有一定的复用性。
Xcconfig简单使用指南
-
创建IOS工程并在工程内创建一个文件夹用来存放xcconfig文件。
xccconfig文件(创建方法与创建普通文件相同CMD + N)总共创建三个用来测试,ConfigDemo.xcconfig、Debug.xcconfig、Release.xcconfig、ConfigAdd.xcconfig
创建后的结果
- 选择工程PROJECT中的ConfigDemo,从窗口中找到Configurations。起始可以发现Debug & Release 都是No Configurations Set。将我们创建的xcconfig添加进去。
添加后的结果
细节事项
- 一个xcconfig可以对应多个TARGET
- ConfigDemo对应PROJECT
- Debug,RELEASE对应TARGETS
- 对应TARGETS的xcconfig优先级大于对应PROJECT的。在这里(Debug>ConfigDemo),即如果Debug.xcconfig设置的参数,ConfigDemo.xcconfig也设置了该参数,则使用Debug.xcconfig设置的参数
-
若要修改Build Settings 里面的功能项直接选中要修改行复制,粘帖到xcconfig文件当中。每次复制会有重复的东西,删除即可。
会发现你修改的config是灰色的。这是因为系统默认的设置占据着主导权。很简单就可以解决,直接选中该行,键盘delete按钮就搞定了。
-
也可自己定义键值对,例如TEST_NAME = TEST添加到ConfigAdd.xcconfig文件中
TEST_NAME = TEST
设置的TEST_NAME可以在Info.plist中通过$(TEST_NAME)来使用该键值对
- 通过#include可以包含其它xcconfig文件
首先在ConfigDemo.xcconfig里面添加#include "ConfigAdd.xcconfig"
然后在TARGETS里面选择Info,修改Bundle identifier如下图所示
在General里面就可以看到我们自己定义的变量了
Build Setting各个列代表的意思
注意:生效显示颜色为绿色背景
- Resolved:配置结果(即通过xcconfig或者系统默认配置结果)
- ConfigDemo可以手动更改的TARGETS配置
- Config.File(Debug.xcconfig, Release.xcconfig)即我们在Configurations添加的Debug和Release文件配置TARGETS结果。
- ConfigDemo 可手动更改的PROJECT配置
- Config.File(ConfigDemo.xcconfig, ConfigDemo.xcconfig)即我们在Configurations添加的ConfigDemo文件配置PROJECT结果。
- Default为系统默认配置