便于开发、打包中在不同环境(测试、生产)间属性的切换更加方便便捷流畅,故创建设置此方式方法,希望对大家能有所帮助.

首先,创建 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的更多相关文章

  1. ASP.NET和ASP.NETCore多环境配置对比

    前言 多环境配置应该都很熟悉了,最为常见的便是Debug和Release,例如下图是新建的一个asp.net项目,配置文件展开共有三个文件组成 据我所知,大多公司从来没编辑过Web.Debug.con ...

  2. 【VS开发】MFC运行时库与debug、release版本之间的配置关系

    参考内容: 前段时间从网上下来一个有意思的代码,用VS2010打开时需要将工程转换为2010的工程,转化后却出现了编译不通过的问题,类似这样的错误:c:\program files\microsoft ...

  3. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  4. VS系列软件中debug和release编译环境有什么区别

    当编译和执行一个工程时,可以在Debug和Release两种配置下执行. Debug模式用于调试程序,这是个受保护的运行环境,它将告诉你程序是否有泄露,在运行时也能对特定函数的结果进行检查.然而它生成 ...

  5. Mac电脑配置IOS React Native开发环境配置笔记

    React Native(以下简称RN)的开发环境配置直接参考官方文档即可完成,不过对小白来说东西有点多,有些名词不是很好理解,这里就官方的安装文档稍微展开说一下. 中文版配置说明:不错的中文说明.官 ...

  6. XE4 IOS开发环境配置

    l 配置IOS的安装开发环境 使用RAD XE4开发IOS程序,一台MAC是必须的(也可以用虚拟机), MAC上需要安装Xcode, 独立版本的Commnand Line Tools 以及RAD的pa ...

  7. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  8. IOS百度地图之--->第一篇《环境配置与基本使用》

    Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...

  9. iOS XMPPFramework 环境配置

    iOS XMPPFramework 环境配置 1:下载 iOS XMPPFramework https://github.com/robbiehanson/XMPPFramework 2:下载解压zi ...

随机推荐

  1. Android MediaPlayer播放音乐并实现进度条

    提前工作,往sd卡里放音乐文件 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> < ...

  2. Python爬虫教程-14-爬虫使用filecookiejar保存cookie文件(人人网)

    Python爬虫教程-14-爬虫使用filecookiejar保存cookie文件(人人网) 上一篇介绍了利用CookieJar访问人人网,本篇将使用filecookiejar将cookie以文件形式 ...

  3. Visio中锁定元件

    若要进行形状保护,需要能看到“开发工具”选项卡.默认情况下,该选项卡是隐藏的. 查看“开发工具”选项卡 单击“文件”选项卡. 单击“选项”. 单击“高级”,然后向下滚动到“常规”部分. 选择“以开发人 ...

  4. Razor模板引擎 (RazorEngine)

    Razor模板引擎不仅在ASP.NET MVC中内置了Razor模板引擎,还有一个开源的RazorEngine, 这样以来我们可以在非ASP.NET MVC项目中使用Razor引擎,甚至在控制台,Wi ...

  5. centOS 7 简单设置(虚拟机)

    1.修改主机名 hostnamectl set-hostname 2.ssh连接慢的问题解决 vim /etc/ssh/sshd_config UseDNS=no GSSAPIAuthenticati ...

  6. 云计算之概念——IaaS、SaaS、PaaS、Daas

    云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计算设备,计算设备一般是指CPU.内存和硬盘,输入/输出设备一般是指键盘.鼠标.显示器.耳机.音响.话筒等外设.而我们的个人计算机是使用主板 ...

  7. Python学习---重点模块之json

    注意:JSON不能转换类,不能转换函数 重点方法示例 json.dumps():实现文件写入,字符串转换[写入文件当然是JSON字符串楼] 实际上,json.dumps()只是帮我们做了一个字符串的转 ...

  8. css如何制作八边形

    随着技术的发展,css也越发强大,css可以制作很多有趣的图形,让我们一起来看一下如何使用css制作一个八边形吧.   方法/步骤     1新建一个html文件.如图:   在html文件上创建一个 ...

  9. 如何用SAP Cloud for Customer的手机App创建销售订单

    第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...

  10. HashMap 和 ConcurrentHashMap,Java1.8版本

    1. HashMap Entry,一对kv就是一个Entry,还包括一些next指针,用来解决散列冲突. table,内部用来存储Entry的数组,resize时候table会成倍扩容. 容量,tab ...