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
复制代码

根据自己项目所需来玩!

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


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

查看所有标签

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

Two Scoops of Django

Two Scoops of Django

Daniel Greenfeld、Audrey M. Roy / CreateSpace Independent Publishing Platform / 2013-4-16 / USD 29.95

Two Scoops of Django: Best Practices For Django 1.5 is chock-full of material that will help you with your Django projects. We'll introduce you to various tips, tricks, patterns, code snippets, and......一起来看看 《Two Scoops of Django》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

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

HEX CMYK 互转工具