Xcode配置测试环境和线上环境

栏目: IOS · 发布时间: 7年前

内容简介:一般我们会用头文件配置环境,在需要使用的时候导入头文件即可,这样会更加简洁,职能更加专一,更好维护, 代码如下:但是这不是最好的方式,最好的方式通过1、创建三个

一般我们会用头文件配置环境,在需要使用的时候导入头文件即可,这样会更加简洁,职能更加专一,更好维护, 代码如下:

#ifdef DEBUG
#define BaseURL @"https://test.app/api/"
#else
#define BaseURL @"https://app/api/"
#endif
复制代码

但是这不是最好的方式,最好的方式通过 Xcode 中的 Configurations Setting Fil(.xcconfig) 来解决,这应该是最优的实现方式,从而根据 DebugRelease 来选择相应的环境。

使用.xcconfig配置步骤

1、创建三个 Configuration Settings File 文件,该文件的后缀为 .xcconfig , 三个文件的命名分别命名为 Common.xcconfig , Debug.xcconfig , Release.xcconfig , 其中 Debug.xcconfigRelease.xcconfig 可以使用 #include 来包含 Common.xcconfig 配置文件, 注意在创建 .xcconfig 的时候Xcode默认是不会选中Targets的,注意要选中!

提示: Common.xcconfig , Debug.xcconfig , Release.xcconfig 三个文件的名字自己可以随便起,不想改就以这三个名字就好,下面我就把这三个名字前都加上 JK ,如: JKCommon.xcconfig , JKDebug.xcconfig , JKRelease.xcconfig

2、打开xcode,新建new file,选择 Configuration Setting File ,并选中相应的Targets,如下图:

Xcode配置测试环境和线上环境
Xcode配置测试环境和线上环境

3、修改 DebugRelease 模式下的的配置,把工程切换到 PROJECT —> info —> Configurations 下,分别 配置 DebugRelease 模式下对应的 .xcconfig 配置文件,当创建了 .xcconfig 文件后,在每个模式下自动作为一个选项来选择,这样直接选择 .xcconfig 对应的文件名字即可,如下图:

Xcode配置测试环境和线上环境

4、 JKDebug.xcconfig 配置

#include "JKCommon.xcconfig"
// 测试下基础的URL
JKURL = @"https:/$()/test.com/api/api/"
// 是测试的环境
JK_IS_PRODUCATION = NO
复制代码

5、 JKRelease.xcconfig 配置

#include "JKCommon.xcconfig"
// 正式下基础的URL
JKURL = @"https:/$()/app.com/api/api/"
// 是正式的环境
JK_IS_PRODUCATION = YES
复制代码

提示:在 // 之间使用 $() 来转义,如: JKURL = @"https:/$()/app.com/api/api/"

6、 JKCommon.xcconfig 配置

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) JKURL='$(JKURL)' JK_IS_PRODUCATION='$(JK_IS_PRODUCATION)'
复制代码

提示:

  • Common.xconfig 中第一个键的配置必须有 : GCC_PREPROCESSOR_DEFINITIONS = $(inherited) ,没有Xcode会报错;
  • 自定义键时的语法: 宏名='$(key)' , 在代码或其他地方使用宏名来引用,通过key来指定每个模式下的对应的自定义键的名字,通常将宏的名字和key的名字保持一致,注意 等号前后一定不能有空格;
  • 特别注意: Common.xconfig 中第一个key是 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) 后面跟自定义的key,注意在第一个key后面跟上自己定义的key的时候一定不要回车换行,敲一个空格,然后在同一行后面追加就行了,换行会编译错误,切记!

7、在 TARGETS —> Build Settings —> Preprocessor Macros 下查看自己的配置,如图:

Xcode配置测试环境和线上环境

测试

上面配置完,我们来测试一下是否好使。

NSLog(@"JKURL=%@",JKURL);
复制代码

在 Debug 模式下测试结果:

JKURL=https://test.com/api/api/
复制代码

在 Release 模式下测试结果:

JKURL=https://app.com/api/api/
复制代码

转载自:IIronMan iOS Debug和Release环境的最新配置


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java程序员修炼之道

Java程序员修炼之道

[英] Benjamin J. Evans、[荷兰] Martijn Verburg / 吴海星 / 人民邮电出版社 / 2013-7 / 89.00元

本书分为四部分,第一部分全面介绍Java 7 的新特性,第二部分探讨Java 关键编程知识和技术,第三部分讨论JVM 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7 的新特性入手,本书涵盖了Java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM 上的非Java 语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala 和Cl......一起来看看 《Java程序员修炼之道》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具