环境切换配置记录

197 阅读1分钟

是什么?

绝大多数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$的开发证书)

wecom-temp-5fe3084261e81893c9f0e53385647562.png

2.配置证书、描述文件、bundleid信息

企业微信截图_768d22e7-fb2b-434a-bdaf-63812c7e4adc.png

3.编辑各配置项对应的配置信息

企业微信截图_1d78141a-2626-40d8-a0e3-296a86722bb1.png

4.自定义环境变量

新建一个宏定义,不同配置项对应不同的值

企业微信截图_07bffe08-697a-40f5-b7be-dd36b7d25b6d.png

5.工程项目创建对应于xcode配置的宏定义

此处的枚举与xcode配置项一一对应

企业微信截图_fe2a4630-a9ec-469d-bbc4-5b602ee3679a.png

6.上述步骤完成后,就可以在项目中通过代码来控制具体的配置了

image.png

7.app内的环境切换页面

将环境配置保存到本地,每次启动的时候去缓存中取,测试可以自己切换环境,节省打包时间.