需求分型
开发iOS工程的时候,有时候由于项目的需要,常常有测试环境,发布环境,企业环境等不同环境的配置问题。
这样在代码中就会有很多if-else判断处理逻辑,并且常常由于项目紧急上线导致某个参数忘记修改配置,导致生产事故的发生,这个问题一直比较困扰开发人员,导致开发的程序健壮性不强。
解决方案
经查阅资料发现苹果提供了不同环境的统一配置方案,下面是我写的一个demo,用以配置不同的开发环境。
1首先创建一个Single View Application
,生成PCH文件,并在build setting
中配置pch文件路径,我的工程配置路径为$(SRCROOT)/AutoBuildConfigSet-Demo/AutoBuildConfigSet-Demo.pch
2 添加Configuration Settings File
文件命名为Enterprise
3 重复步骤2 创建文件结构如下
4 在PROJECT
下的Configurations
添加Enterprise
编译模式
5 设置编译模式与我们创建的Configuration Settings File
相对应,如下图
6 在TARGETS
下搜索macros
如下图
7 分别在对应的模式上面添加设置编译参数,
DEBUG_VERSION=1
ENTERPRISE_VERSION=1
RELEASE_VERSION=1
用以在pch文件中对各种编译宏的模式判断 ,如下图7,8,9
8 PCH文件夹下添加如下内容
//测试环境
#ifdef DEBUG_VERSION
#define BASE_URL_STR @"http://www.baidu.com/"
//企业环境
#elif defined(ENTERPRISE_VERSION)
#define BASE_URL_STR @"http://www.google.com/"
//AppStore环境
#elif defined(RELEASE_VERSION)
#define BASE_URL_STR @"http://www.sina.com/"
9 添加打印日志如下
10 调整编译的schema
的编译模式为 Enterprise
模式
11 查看打印日志
IOS打包测试发布环境配置-中篇
IOS打包测试发布环境配置-下篇
github demo 链接地址 欢迎star,多多鼓励