浅析iOS的Xcconfig
背景
在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
参考源码: