Xcode配置文件xcconfig

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

内容简介:在开发过程中,肯定会遇到开发环境和正式环境的配置,就比如说:服务器地址、一些加密的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
复制代码

根据自己项目所需来玩!

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


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

查看所有标签

猜你喜欢:

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

数据化管理

数据化管理

黄成明 (@数据化管理) / 电子工业出版社 / 2014-7 / 59.90元

《数据化管理:洞悉零售及电子商务运营》讲述了两个年轻人在大公司销售、商品、电商、数据等部门工作的故事,通过大量案例深入浅出地讲解了数据意识和零售思维。作者将各种数据分析方法融入到具体的业务场景中,最终形成数据化管理模型,从而帮助企业提高运营管理能力。 《数据化管理:洞悉零售及电子商务运营》全部案例均基于Excel,每个人都能快速上手应用并落地。一起来看看 《数据化管理》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具