iOS app配置多个环境变量
Posted 程序“猿”
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS app配置多个环境变量相关的知识,希望对你有一定的参考价值。
一般项目中都会有测试环境和正式环境,如果我们我们不进行一些配置的话,每一次不同环境的切换的时候,我们都需要修改一些代码,有的时候还有可能遗落或者修改错误,这时候我们做一些配置的话,就不需要修改代码,也能够实现不同环境的切换
第一步:在configurations
中添加新的配置
里面会有两个选项,一般我们的项目中就只会选择Debug
![](https://image.cha138.com/20210604/d62921c2f7d64c599145340c1af27426.jpg)
为我们新添加的Debug
重新命名,方便以后区分
![](https://image.cha138.com/20210604/1db5a5e5dffd42d097c0a9cfbc76e087.jpg)
第二步:pod项目,这一步没有什么要求,只要放到第一步后面就行了
![](https://image.cha138.com/20210604/dc908e9f4527418084a65f335161eb56.jpg)
这时候pod安装完成之后会自动生成xcconfig文件,里面有一些pod的配置
第三步:新建Scheme
这个新建的Scheme,我们在运行的时候可以选择我们运行的环境,譬如:测试环境和正式环境
这里我们点击
new Scheme
,新建一个Scheme![](https://image.cha138.com/20210604/4012c1f6805d45c59a3906c648f175ac.jpg)
我们点击Target
会出现我们的选择
![](https://image.cha138.com/20210604/038a4b1c50f44272a3c88b9df9c1c061.jpg)
我命名的新的Target
-->JHTestDemo
![](https://image.cha138.com/20210604/24d3787cc438429dac9dced5981d0bdc.jpg)
然后点击选择他的运行环境,在我们新添加的JHTestDemo
中改变Run模式和Archive模式,把他们都改为Debug_TEST
![](https://image.cha138.com/20210604/8d5dd7f2efd840909d699b8e2d19227f.jpg)
第四步: 新建User-defined Build Settings
回到Project的Build Settings里面来,Add User-Defined Setting
![](https://image.cha138.com/20210604/0e92f44c5911452e989ba0f87ad78cbf.jpg)
我们知道,在plist中我们可以通过
$(PRODUCT_BUNDLE_IDENTIFIER)
来查找Bundle identifier
,我们可以自己设置路径,然他查找Bundle identifier
![](https://image.cha138.com/20210604/1c942364dbf849bc928683e30d4ae1df.jpg)
这里我们添加两个
User-Defined Setting
,一个新命名的Bundle identifier
一个APPName
![](https://image.cha138.com/20210604/88b1c7baa4834e9b8eb43a44d350afb5.jpg)
在plist文件中修改
value
值![](https://image.cha138.com/20210604/eda48b5129a64ad6bb44d8c65f7fc8b4.jpg)
第五步:配置和获取环境变量
我们进入到Build Settings里面,可以找到Apple LLVM Preprocessing,这里我们可以找到Preprocessor Macros在这里,我们是可以加一些环境变量的宏定义来标识符,Preprocessor Macros可以根据不同的环境预先制定不同定义的宏。
![](https://image.cha138.com/20210604/77503adc635a41a1ac7b2803e499c92e.jpg)
![](https://image.cha138.com/20210604/859f6f13fa89458292efe5274d6f8feb.jpg)
![](https://image.cha138.com/20210604/0482283bb9f14833b6373c91de58d8fc.jpg)
然后我们可以根据两个宏的不同进行一些逻辑的处理,譬如最简单的发布环境的url和测试环境的url
1 #if JH_Release // 发布环境 2 ///基础URL 3 #define JHBaseURL @"http://" 4 5 #endif 6 7 #if JH_Debug // 测试环境环境 8 ///基础URL 9 #define JHBaseURL @"http://" 10 #endif
以上是关于iOS app配置多个环境变量的主要内容,如果未能解决你的问题,请参考以下文章