是什么?
绝大多数iOS项目都存在多种运行环境,例如开发环境(DEV)、预上线环境(UAT)、线上环境(PRD)等。
环境切换也就是让项目运行对应在不同的服务器上。
为什么?
每次运行或者打包项目的时候都去手工改动基础域名(baseurl),修改各类配置项,以便适应不同环境所需的参数,非常繁琐易错。
如何做?
方式有多种,这里仅记录下自己的项目中所使用的。
使用多个Scheme的方式,提前将不同环境所需要的变量配置好,运行、打包项目的时候只需要切换scheme即可。
1.创建多个配置项
最丰富的配置项数目:包类型*环境数量
如下图所示,一般情况以下几种即可
Debug(默认配置项,一般是开发模式使用,也就是对应开发证书,环境默认UAT)仅开发测试
AppStore-Release(用于打包到appstore,99$发布证书,对应正式环境PRD)仅用于打包
Enterprise-Release(企业版发布证书,对应正式环境PRD)仅用于打包
Enterprise-Test(企业版发布证书,对应环境UAT)可开发测试,可打UAT包
由于我们没有单独的企业开发证书,所以Enterprise-Test模式下运行实际与Debug是一样的(用的都是99$的开发证书)
2.配置证书、描述文件、bundleid信息
3.编辑各配置项对应的配置信息
4.自定义环境变量
新建一个宏定义,不同配置项对应不同的值
5.工程项目创建对应于xcode配置的宏定义
此处的枚举与xcode配置项一一对应
6.上述步骤完成后,就可以在项目中通过代码来控制具体的配置了
7.app内的环境切换页面
将环境配置保存到本地,每次启动的时候去缓存中取,测试可以自己切换环境,节省打包时间.