Xcode 配置文件 xcconfig

来源:互联网 发布:淘宝返利网商家 编辑:程序博客网 时间:2024/06/03 01:56

Xcode 有一套先进的编译系统,但是 Xcode 把所有的编译配置项揉在一个 project 文件中,实在是不方便维护,特别是版本控制,多个人在同一个工程上工作的时候经常碰到冲突。其实这一切都是可以解决的,可以通过 xcconfig 文件来解耦工程设置。

关于 xcconfig 文件

xcconfig 文件是一个用来保存 build setting 键值对的纯文本文件。这些键值对会覆盖 build setting 中的值。所以当你在 xcconfig 文件中配置了的选项在 build settings 中保持默认值就好了(因为是什么都不会起作用了)。

创建 xcconfig 文件

点击菜单 File > New > File...,在 iOS 的 Other 下面可以看到 Configuration Settings File,双击或者选中点下一步按钮创建一个文件,给这个文件命名并选择存储位置,然后点击创建就会发现文件创建好了,可以看到创建的文件格式是 .xcconfig 后缀的。

我们一般按照下面的名称创建四个 xcconfig 文件:

  • Application.xcconfig target 相关配置

  • Shared.xcconfig Debug 与 Release 共用的配置

  • Debug.xcconfig Debug 独有的配置

  • Release.xcconfig Release 独有的配置

xcconfig 文件的使用

点击工程文件,切到 info Tab,定位到 Configurations 选项(实际上这个 tab 下的选项并不多,一眼就瞄到了),点开 Configurations 前面的小箭头,看到了分为 Debug 和 Release,分别点击 Debug 与 Release 选择对应的 xcconfig 文件(Debug 对应 Debug.xcconfig,Release 对应 Release.xcconfig)。然后 Debug 和 Release 的小箭头看到下面的 target,为 target 选择 Application.xcconfig。

如此这般就可以使用 xcconfig 文件来解耦 project 文件中的 build settings 了。

xcconfig的内容

前面讲了 xcconfig 文件的创建与使用,还有一点重要的就是 xcconfig 中的内容怎么去填充?难道一个一个键值对去手写?当然不用如此笨拙。

直接在 build settings 中选中你想要在 xcconfig 中配置的键值对所在行(当然也可以选多行),command + c 复制,然后到 对应的 xcconfig 中去粘贴就好了,就这么简单,记得在 build settings 中改为你想要的值后再复制,你一定会想那我不还得改回去吗?别急,还是选中这行,command + delete 就恢复默认值了,so easy。

可以看一下我的 Shared.xcconfig 中的内容:

而且,这个文件中还可以写注释。

xcconfig 文件的包含引用

你一定奇怪 Shared.xcconfig 怎么没用到?别急,前面提到 Shared.xcconfig 中放 Debug 与 Release 中共享的配置,对,那怎么共享呢?引用————跟代码引用一样:

#include "Shared.xcconfig"

当然,你现在肯定也明白了文件名是可以随便取的,文件也可以随意包含,没错,只要你有合理的组织结构。比如你想把签名相关配置独立出来,那么你把签名配置单独放到一个 xcconfig 文件中也是可以的,然后在需要的地方引用即可。

所以,只要你理解了原理,你爱怎么玩就怎么玩。

自定义的 build setting 键值对

你可能注意到了我的 Shared.xcconfig 最后一行的键值对不是标准的 build setting 键值对,其实它们是一对自定义的键值对,我们也可以在 build settings 中看到我们自定义的键值对:

自定义的有什么用呢?可以在一些预编译脚本中读取自定义的 build setting,有助于我们写出更高质量的脚本。关于预编译脚本我们在另一篇中去讲,本文不多讲,只是提一下。

END

讲了这么多,希望对读者能有帮助。如果文中有谬误请留言指正,不胜感激涕零。


本文采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议。允许保持署名及原文链接转载,不得用于商业目的。

0 0