前言
swift
多环境配置和 oc
类似,本文主要介绍 Scheme
和 xcconfig
多环境配置
第一种方式:Scheme
- 首先我们要了解到
Scheme
默认是有两种环境变量 Debug
和 Release
,可以在 Edit Scheme
-> Run
-> info
-> Build Configuration
下查看。
- 其次,与之对应的环境配置在
Project
-> Scheme
-> Configurations
下也可以看到:
- 在
Project
-> Info
-> Configurations
下,我们可以创建一个自己的配置环境 Beta
,现在我们有了 三
种配置方式,如下图:
- 对应的在
Edit Scheme
-> Run
-> info
-> Build Configuration
下也有三种,如下图:
- 同时在
Target
-> Build Settings
-> Build Active Architecture Only
下也有对应的三种配置方式,说明这是一个 全局
的配置,如下图:
- 新建 Scheme
- 点击
Scheme -> manager Schemes
-> 点击 +
号 -> 添加 Debug
和 Beta
两种,加上 Scheme
本身 Release
就是三种,对应上面 三种
配置
- 点击
Edit Scheme
切换 Scheme
,并指定 Configurations
,如下图:
- 自定义主机名
URL_HOST
Target
-> Build Settings
-> 点击 +
号 -> Add User-Defined Settings
-> URL_HOST
,此时我们发现其对应的配置也是三个,分别设值如下:
- 将
URL_HOST
添加到 info.plist
文件中,Build Settings
中的 配置可以通过 info.plist
暴露出来,可以直接读出来
- 在项目中使用
1 2 3
| let path = Bundle.main.path(forResource: "Info", ofType: "plist"); let dic = NSMutableDictionary(contentsOfFile: path!); print(dic!["URL_HOST"]!);
|
切换 scheme ,查看不同的打印结果
1 2 3
| http://Debug http://Release http://Beta
|
第二种方式:xcconfig 配置
- 同样的,我们需要先配置
三种 Connfigurations
,配置方式同上
- 在主项目下,创建
Config
文件,并在下面创建三个对应环境的 .xcconfig
文件
- 在Config文件夹下 ->
command + N
-> 搜索config
- 选择对应Target的进行配置
- 在
xconfig
文件中写入 URL_HOST
1 2
| A = / URL_HOST = http:${A}/Debug
|
1 2
| A = / URL_HOST = http:${A}/Beta
|
1 2
| A = / URL_HOST = http:${A}/Release
|
- 同样,我们需要在
info.plist
文件中暴露,在项目中取出
- 项目中代码取出
1 2 3
| let path = Bundle.main.path(forResource: "Info", ofType: "plist"); let dic = NSMutableDictionary(contentsOfFile: path!); print(dic!["URL_HOST"]!);
|
切换 scheme ,查看不同的打印结果
1 2 3
| http://Debug http://Release http://Beta
|