环境配置之 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 ...
随机推荐
- USG防火墙基础
http://support.huawei.com/huaweiconnect/enterprise/thread-331003.html 华为防火墙产品线 安全区域 1. 默认防火墙区域 T ...
- hdu 3613 Best Reward (manachar算法)
Best Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Prob ...
- MySQL数据库、表的字符编码
用MySQL命令行新建数据库和表时默认的字符编码是latin1,但是在实际开发过程中一般都是使用utf8格式的编码.操作如下: 1.修改数据库字符编码 mysql> alter database ...
- salt 之 master and minion
系统:centos7.2 master:192.168.1.41minion:192.168.1.46 注释: setenforce 0 --关闭selinux systemctl stop fire ...
- incast.tcl
# Basic Incast Simulation # Check Args if {$argc != 5} { puts "Usage: ns incast <srv_num> ...
- linux下安装及配置jenkins
jenkins常用的有两种安装方式: 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 直接下载 1.1.可以把war包直接部署到servle ...
- WebExtensions小例
一:简述 扩展是修改Web浏览器功能的代码位.它们使用标准的Web技术(JavaScript,HTML和CSS)以及一些专用的JavaScript API编写.其中,扩展程序可以向浏览器添加新功能或更 ...
- 实战开发一个Nginx扩展 (Nginx Module)
repo地址 https://github.com/wujunze/nginx-http-echo-module nginx_module_echo 使用echo指令输出一个字符串 Nginx 版本 ...
- php简单的数组递归
参照 http://www.oschina.net/code/snippet_105637_11401 的例子 $arr = array('aa' => array('bb' => ...
- 浅谈js冒泡事件2
js冒泡阻止 1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览器实现 . ...