环境配置之 Debug 和 Release - iOS
便于开发、打包中在不同环境(测试、生产)间属性的切换更加方便便捷流畅,故创建设置此方式方法,希望对大家能有所帮助.
首先,创建 Configurations Setting File(.xcconfig) 配置文件,文件命名可以大家自行定义,具体步骤如下图所示:
1)首先,选择 Configurations Setting File 文件

2)其次,文件命名并勾选 Targets 项目选项

3)最后,创建文件后的效果

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

将 .xcconfig 文件与项目相关联设置
再其次,创建并配置好如上几个步骤后,来到 .xcconfig 文件中进行一些公共属性的配置,例如 URL 链接地址、测试或生产环境下不同的 key 相关.
注:在 "//" 之间使用 "$()" 来转义,例如 https:/$()/
Debug.xcconfig 配置文件
#include "YHCommon.xcconfig"
// 测试环境
YH_IS_PRODUCATION = NO
// URL
YHURL_Host = @"https:/$()/test.com/api/"
YHURL_Index = @""
YHURL_Second = @""
YHURL_Third = @""
YHURL_Four = @""
YHURL_Fifth = @""
Release.xcconfig 配置文件
#include "YHCommon.xcconfig"
// 测试环境
YH_IS_PRODUCATION = YES
// URL
YHURL_Host = @"https:/$()/app.com/api/"
YHURL_Index = @"Release1"
YHURL_Second = @"Release2"
YHURL_Third = @"Release3"
YHURL_Four = @"Release4"
YHURL_Fifth = @"Release5"
Common.xcconfig 配置文件
// https://help.apple.com/xcode/#/dev745c5c974
// 注: GCC_PREPROCESSOR_DEFINITIONS = $(inherited) 该语句后面的参数与 Debug.xcconfig 和 Release.xcconfig 中的参数字段名称一致
// 即: GCC_PREPROCESSOR_DEFINITIONS = $(inherited) Key1='$(Key1)' Key2='$(Key2)' 以此类推 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) YHURL_Host='$(YHURL_Host)' YHURL_Index='$(YHURL_Index)' YHURL_Second='$(YHURL_Second)' YHURL_Third='$(YHURL_Third)' YHURL_Four='$(YHURL_Four)' YHURL_Fifth='$(YHURL_Fifth)' YH_IS_PRODUCATION='$(YH_IS_PRODUCATION)'
注意事项:
1)配置两个 key 字段间通过空格符相隔开,例如:
// YHURL_Host='$(YHURL_Host)'空格YHURL_Index='$(YHURL_Index)'
YHURL_Host='$(YHURL_Host)' YHURL_Index='$(YHURL_Index)'
2)保持宏与 key 字段的一致性
// Key 的一致性,例如: Key ='$(Key)'
YHURL_Index='$(YHURL_Index)'
3)Common.xconfig 配置文件中必须有 "GCC_PREPROCESSOR_DEFINITIONS = $(inherited)"
4)在基础语句(GCC_PREPROCESSOR_DEFINITIONS = $(inherited))后面不要回车,而是要通过空格符衔接,不然编译时会抛异常,有点难为强迫症哈哈.
再其次,检查如上操作是否配置成功,在 TARGETS => Build Settings => preprocessor macr 下查看 key 所对应的 value 中是否有参数,具体如下图所示:

最后,如上配置打工搞定后便可以在需要的地方开始方便的使用它们了.
1)测试结果 Debug

2)测试结果 Release

Debug 和 Release 切换方式
一、选择项目工程,其次选择 Edit Scheme.

二、在弹框中选择 Run => Info => Build Configuration 选择中进行 Debug 和 Release 的切换

以上便是此次分享的全部内容,希望对大家能有所帮助!
环境配置之 Debug 和 Release - iOS的更多相关文章
- ASP.NET和ASP.NETCore多环境配置对比
前言 多环境配置应该都很熟悉了,最为常见的便是Debug和Release,例如下图是新建的一个asp.net项目,配置文件展开共有三个文件组成 据我所知,大多公司从来没编辑过Web.Debug.con ...
- 【VS开发】MFC运行时库与debug、release版本之间的配置关系
参考内容: 前段时间从网上下来一个有意思的代码,用VS2010打开时需要将工程转换为2010的工程,转化后却出现了编译不通过的问题,类似这样的错误:c:\program files\microsoft ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- VS系列软件中debug和release编译环境有什么区别
当编译和执行一个工程时,可以在Debug和Release两种配置下执行. Debug模式用于调试程序,这是个受保护的运行环境,它将告诉你程序是否有泄露,在运行时也能对特定函数的结果进行检查.然而它生成 ...
- Mac电脑配置IOS React Native开发环境配置笔记
React Native(以下简称RN)的开发环境配置直接参考官方文档即可完成,不过对小白来说东西有点多,有些名词不是很好理解,这里就官方的安装文档稍微展开说一下. 中文版配置说明:不错的中文说明.官 ...
- XE4 IOS开发环境配置
l 配置IOS的安装开发环境 使用RAD XE4开发IOS程序,一台MAC是必须的(也可以用虚拟机), MAC上需要安装Xcode, 独立版本的Commnand Line Tools 以及RAD的pa ...
- ios开发环境配置及cordova安装与常用命令
一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...
- IOS百度地图之--->第一篇《环境配置与基本使用》
Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...
- iOS XMPPFramework 环境配置
iOS XMPPFramework 环境配置 1:下载 iOS XMPPFramework https://github.com/robbiehanson/XMPPFramework 2:下载解压zi ...
随机推荐
- sql: T-SQL parent-child function script
--Parent-Child reationship --涂聚文 2014-08-25 --得位置的子節點函數表(包含本身) if exists (select * from dbo.sysobjec ...
- 原生js模拟jquery写法
function $_custom(fun) { document.onreadystatechange = function() { if (document.readyState == " ...
- HTML5学习笔记之canvas
标签 canvas标签有一个默认宽高:300*150: canvas的宽高一般写到行间样式中,写在style会有问题详细请看这里: 绘制环境 要绘图先要获取到绘制环境: var oC = docume ...
- sauvola二值化算法研究
sauvola二值化算法研究 sauvola是一种考虑局部均值亮度的图像二值化方法, 以局部均值为基准在根据标准差做些微调.算法实现上一般用积分图方法 来实现.这个方法能很好的解决全局阈值方法的短 ...
- [转载]hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的 ...
- vue2.0 生命周期 简析
Vue2.0 生命周期钩子函数: <template> <div id='app'> {{message}} </div> </template> va ...
- SQL Server 没有足够的内存继续执行程序 (mscorlib)的解决办法
问题: SQL Server 执行大脚本时,出现如下提示信息: 解决方法: 使用 sqlcmd.exe 导入 1.win + r,输入 cmd 进入 C:\Program Files\Microsof ...
- npm install warning: no description; no repository field
npm install 报错:warning no description; no repository field 开始以为必须npm init,npm init在git bash(win7)里,还 ...
- lnmp环境下nginx配置‘负载均衡’
NGINX负载均衡分发请求的几种方式: 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight 指定轮询几率,weight和访问比率成正比 ...
- 看了xici有写给孩子的信,maybe我也要写给孩子一些东西了
看了xici有写给孩子的信,maybe我也要写给孩子一些东西了