环境配置之 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 ...
随机推荐
- canvas image array(canvas图片阵列)
code: <!DOCTYPE html> <html> <head> <title>hehe</title> </head& ...
- pdf预览
从服务器取回pdf流数据,通过iframe在html页面展示 不废话,,直接代码: <html> <head> <meta charset="UTF-8&quo ...
- 02_zookeeper配置
[zoo.cfg] * tickTime:用于计算的时间单元.比如session超时:N*tickTime * initLimit:用于集群,允许从节点连接并且同步到master节点的初始化连接时间, ...
- 【Python】回文palindrome——利用字符串反转
回文 palindrome Python 字符串反转string[::-1] Slice notation "[a : b : c]" means "count in i ...
- ToolBar 简单使用
ToolBar 简单使用 ToolBar 是在 android 5.0之后推出的一款用来替代 ActionBar 的 View.ActionBar 是Activity的一部分,不能用在其他视图层次上( ...
- Nginx 性能参数优化
user www www; # ginx要开启的进程数 一般等于cpu的总核数,没必要开那么多,1个nginx内存消耗10兆左右 worker_processes 4; # 为每个进程分配cpu,上例 ...
- Eclipse控制台输出信息的控制(引用其他人的博客)
当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志 ...
- js计算时间差(天,小时,分钟,秒)
<script type="text/javascript"> var date1= '2015/05/01 00:00:00'; //开始时间 var date2 = ...
- impala安装笔记(Ubuntu)
1.Override 1.With Impala, you can query data, whether stored in HDFS or Apache HBase – including SEL ...
- 【转】Linux中/etc/profile,/etc/bashrc,~/.profile,~/.bashrcd的区别
//因为在原文章中博主说以下内容是网友说的,所以我就只加个转了,找不到原作者 /etc/profile,/etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家目 ...