Xcode配置文件xcconfig

栏目: IOS · 发布时间: 7年前

内容简介:在开发过程中,肯定会遇到开发环境和正式环境的配置,就比如说:服务器地址、一些加密的key等等,都会区分测试环境和正式环境;搭建测试、正式环境,也许有一些公司运维组比较优秀,搭建了测试环境的DNS(或者测试环境的wifi),用户通过手动切换DNS地址(或切换wifi),来访问测试环境,这样是最好的,但并不是所有公司都这么“好”,很多还是要开发自己实现;有一做法(不推荐)是在代码整两个宏定义,如下:

在开发过程中,肯定会遇到开发环境和正式环境的配置,就比如说:服务器地址、一些加密的key等等,都会区分测试环境和正式环境;

搭建测试、正式环境,也许有一些公司运维组比较优秀,搭建了测试环境的DNS(或者测试环境的wifi),用户通过手动切换DNS地址(或切换wifi),来访问测试环境,这样是最好的,但并不是所有公司都这么“好”,很多还是要开发自己实现;

做法1(low)

有一做法(不推荐)是在代码整两个宏定义,如下:

Xcode配置文件xcconfig

通过注释代码来切换环境,这样也能达到目的,手动切换的方式实在容易犯错,不推荐;

做法2(good)

为了解决手动修改的问题,通过Debug模式判断来定义,这样就用修改代码了;

Xcode配置文件xcconfig

通常,这种方式的结果就是你的.h文件,看上去感觉很杂乱,不雅观,还没有达到完全解偶;

做法3(better)

最近开发过程中发现一种可解耦工程的设置方法:Configuration Settings File(.xcconfig)

Xcode中可以创建自定义.xcconfig配置文件,然后在工程的Debug模式、Release模式选择对应的.xcconfig配置文件,这样就能达到Dubug的代码和Release的代码区分开来维护,perfect!

具体操作

1、新建.xcconfig配置文件:

一般会新建三个:Common.xcconfig, Debug.xcconfig, Release.xcconfig,由命名就能清晰知道Common是公用的,Debug和Release实在各自模式下独立的;

Xcode配置文件xcconfig

2、创建好文件之后,切换到PROJECT—->info—>Configurations下,对应的target下,分别配置Debug和Release模式下对应的.xcconfig配置文件,直接选择.xcconfig对应的文件名字即可

Xcode配置文件xcconfig

3、分别在Debug.xcconfig、Release.xcconfig中定义键值对,在Common.xcconfig中暴露键,这样就能直接调用; ps:在每个模式下,key的命名要一致;

Xcode配置文件xcconfig
Xcode配置文件xcconfig
Xcode配置文件xcconfig
值得注意的是:
在Common中,定义键值对前面,要加上:GCC_PREPROCESSOR_DEFINITIONS = $(inherited) ,
表示要加入预处理,即加上这句,代码中才可以调到;
复制代码
Xcode配置文件xcconfig

配置好之后,会发现Preprocessor Macros 会出现你刚刚配置的键值对,这就是GCC_PREPROCESSOR_DEFINITIONS = $(inherited)这句的效果,此时代码中才能访问自定义的键;

代码调用

Xcode配置文件xcconfig

运行结果:

Debug模式下:

Xcode配置文件xcconfig

Release模式下:

Xcode配置文件xcconfig

完成!!!

额外:

还可以配置其他信息,其实xcconfig用来保存build setting 键值对的纯文本文件,这里配置的键值对会覆盖 build setting 中的值, 如下:

ENABLE_BITCODE = NO
MACH_O_TYPE = staticlib
VALID_ARCHS = arm64 armv7
IPHONEOS_DEPLOYMENT_TARGET = 7.0
复制代码

根据自己项目所需来玩!

实践是检验真理的唯一标准(用代码说话)...


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员修炼之道

程序员修炼之道

Andrew Hunt、David Thomas / 马维达 / 电子工业出版社 / 2005-1 / 48.00元

《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。一起来看看 《程序员修炼之道》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具