浅析iOS的Xcconfig
投稿:laozhang
背景
在xcode中多人协作时,很容易发生冲突,尤其是项目的配置文件,仅仅是在build settings 修改一点东西就出现巨大的冲突,commit 时在project setting 中就会发现N多有时会有好几处修改,这时候xcconfig 就发挥强大的作用了,咱们就可以通过 xcconfig 文件来解耦工程设置
什么是Xcconfig
xcconfig文件其实就是xcode里的config文件,本质是一个用来保存Build Settings键值对的纯文本文件。这些键值对覆盖Build Settings中的值,所以当在xcconfig文件中配置了的选项,在Build Settings中设置将失效。
Xcconfig创建
点击菜单File > New > File...,在iOS的Other下面可以看到Configuration Settings File,双击或选中点下一步创建一个文件,给文件命名并选择存储位置,然后点击创建。创建成功的文件格式是.xcconfig后缀的。一般创建按照下面的名称创建至少两个xcconfig文件:
1.debug.xcconfig
2.release.xcconfig
xcconfig使用
如图所示,点击工程文件,切到info Tab,定位到Configuration选项,点开Configuration前面的小箭头,看到了分为Debug和Release,分别点击Debug和Release选择对应的 xcconfig 文件(Debug 对应 Debug.xcconfig,Release 对应 Release.xcconfig)。然后 Debug和 Release的小箭头看到下面的 target,为 target 选择 相应的xcconfig。
Xcconfig内容
直接在 Build Settings 中选中你想要在 xcconfig 中配置的键值对所在行(当然也可以选多行),command + c复制,然后到 对应的 xcconfig 中去粘贴就好了,记得在 Build Settings中改为你想要的值后再复制,如果为默认值的话则不可复制。如果需要改回去的话,还是选中这行,command + delete 就恢复默认值了。
开源
幸运的是有人做了基本文件配置,可以参照github
参考源码:https://github.com/jspahrsummers/xcconfigs