出现问题
我们进行项目环境配置的时候,是用宏来定义不同环境之间的切换,如果想切换环境,还需手动修改宏的值,人为修改宏的值有时候会出现差错,造成环境运行错误
图片.png
需求
不用修改源码,在xcode中选择不同的环境配置来运行相对应的环境
解决方案
Xcode默认会有2个编译模式,一个是Debug,一个是Release。我们上线版本发布的时候会调到Release,因为Release下不能调试程序,编译时有做编译优化,会比用Debug打包出来的运行快,另外包也会更小.
图片.png
我们可以根据网络环境不同增加对应的编译模式
使用场景
一般公司开发环境分为开发环境、测试环境、堡垒环境、生产环境,生产环境对应的是Release编译环境.那么我们可以为开发环境、测试环境、堡垒环境增加相对应的编译环境
增加编译环境--
-
配置Build Configuration
图片.png -
查看Configuration
图片.png -
更改Preprocessor Macros
第1步里我们直接复制了Debug的配置项,那这里的值就会有问题,需要自己设置。
图片.png -
如果你用了Cocoapods管理第三方(如果没有这一步略过)
配置Pods 的 Build Configuration
图片.png
查看Pods 的 Configuration
图片.png -
在程序里配置对应的Configuration下不同域名
图片.png - 测试
运行程序,修改Scheme下不同的Configuration,就能得到不同的值,那结果就是正确的了。
在参考别人博客基础上自己亲试,还有些地方需要试的,比如说DEVELOPER=2这个地方,我认为只要和DEBUG=1中的1区别开来就能达到区别的目的就没有去试.
有不对的地方大家留言,我会及时改正.
网友评论