Xcode配置文件xcconfig

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

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

根据自己项目所需来玩!

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


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

查看所有标签

猜你喜欢:

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

算法设计与分析

算法设计与分析

屈婉玲、刘田、张立昂、王捍贫 / 清华大学 / 2011-5 / 25.00元

《算法设计与分析》为计算机科学技术专业核心课程“算法设计与分析”教材.全书以算法设计技术和分析方法为主线来组织各知识单元,主要内容包括基础知识、分治策略、动态规划、贪心法、回溯与分支限界、算法分析与问题的计算复杂度、NP完全性、近似算法、随机算法、处理难解问题的策略等。书中突出对问题本身的分析和求解方法的阐述,从问题建模、算法设计与分析、改进措施等方面给出适当的建议,同时也简要介绍了计算复杂性理论......一起来看看 《算法设计与分析》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具