xcode多环境 Dev 、Debug 和 Release变量配置以及怎么切换不同环境

Debug 和 Release不同环境的配置文件

配置不同的环境前提就是要有不同环境的配置文件,然后在配置文件中配置不同的变量对应的值,将不同的配置文件和不同的运行环境绑定,最后运行不同的环境。

创建配置文件:

配置一个名称,比如test.xcconfig:

在这个配置文件中配置变量和值:

注意等号两边有空格,可以配置的变量值类型有很多,可以看官方文档:https://developer.apple.com/documentation/xcode/adding-a-build-configuration-file-to-your-project

配置文件示例:

复制代码
#include "YHCommon.xcconfig"
// 测试环境
YH_IS_PRODUCATION = NO
// URL
YHURL_Host      = @"https:/$()/test.com/api/"
YHURL_Index     = @"111"
YHURL_Second    = @"222"
YHURL_Third     = @"333"
YHURL_Four      = @"444"
YHURL_Fifth     = @"555"
// base url,/需要配上\转译
API_BASE_URL = "https:\/\/test.hadoxssdsd.cn"

其次,将创建好的文件与项目相配置关联.在项目工程的 PROJECT => info => Configurations 层级下分别在 Debug 和 Release 模式下配置关联之前创建的 .xcconfig 文件,具体如下图所示:

在 Info.plist 中引用这个变量:

然后在TARGETS中的User-Defined中可以看到映射过来的变量对应的值:

这里的反斜杠可以双击来编辑去掉:

最后在代码中使用的时候需要使用:

Swift 复制代码
let baseUrl = Bundle.main.object(forInfoDictionaryKey: "API_BASE_URL") as! String

来获取变量对应的值。

Debug 和 Release 不同模式切换

最后再配置不同环境使用不同的配置文件:

选择不同的环境:

这里可以配置不同模式下对应的配置文件,当然也可以创建更多的配置文件用来选择。

创建更多的配置文件

在项目下的info中,找到Configuration配置,然后下面就可以通过复制来实现更多环境配置,比如我这里是Custom,然后回车就可以编辑来关联Custom.xcconfig配置文件了

最后总结一下配置文件中变量的生效逻辑:

1、现有配置文件 xcconfig 配置环境变量对应的 API_BASE_URL

2、将配置文件关联到不同的模式下,比如dev、debug、release

3、将 API_BASE_URL 变量映射到 Info.plist 中

4、在代码中通过 Bundle.main.object 来读取里面的值

相关推荐
wy31362282113 分钟前
Git——ignore让项目的 target 目录真正被忽略(忽略其他文件也是同样的道理)
开发语言·git
格林威14 分钟前
C#图像分块处理:图像按行或按块(Tile)切分,多个 CPU 核心同时处理不同的区域
开发语言·图像处理·人工智能·机器学习·计算机视觉·c#·工业相机
leisoo809721 分钟前
财报舞弊预警系统实战用Python挖掘应收存货异常因子 IG50免费开源股票数据API接口
开发语言·python
君顾122 分钟前
AI新零售线上商城系统实战:架构设计与开发全流程指南
java·开发语言·零售
wind1003228 分钟前
Outdated Visual C++ Redistributable 过时 VC++ 运行库报错修复
开发语言·c++
吾皇斯巴达34 分钟前
O_DIRECT与gcsfuse的go程序中实现内存页面对齐
开发语言·后端·golang
光电的一只菜鸡1 小时前
高通tuning中eis需要调什么
java·开发语言·前端
兔兔兔兔11 小时前
记录C++ 12
开发语言·c++
guo_wen_qiang1 小时前
mac中iTerm有没有类似xshell远程连接服务器的用户名密码方式,不用每次都要输入用户密码
运维·服务器·macos
2501_915918411 小时前
Swift IDE 有哪些?按平台和需求选择Swift 开发工具
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程