移动知识

iOS开发--浅入浅出环境变量的配置和使用 -_-?!

2018-09-20  本文已影响63人  番茄炒西红柿啊

1. 前言

1.1 开发中遇到需要来回切换环境或者配置参数的问题

  1. 平时我们做项目开发的时候最常用的就是Debug模式和Release模式了.
  2. 涉及网络请求的时候,服务器最基本的也会有"测试环境地址""正式环境地址".
  3. 当我们有用到三方的一些SDK的时候,需要各种配置参数就更不要说了.比如极光推送是debug模式还是release模式;三方分享登录等,开发的时候可能用的是开发人员自己的账号申请的参数,发布的时候需要改成公司的账号申请的参数等等等...

在项目开发中类似的场景实在有太多,上面所提及情况,相信就算你的公司开发团队再如何不专业也应该是会遇到的.

1.2 手动改动代码解决方式

对于1.1中所提及的问题,我之前一直是手动改代码解决的.比如切换网络环境(以oc代码为例)

  1. 写2个同名的宏,用到哪一个就注释掉另一个
#define BaseUrl @"我是测试服务器地址"
//#define BaseUrl @"我是正式服务器地址"
  1. 或者用宏来判断
#if 1
#define BaseUrl @"我是测试服务器地址"
#else
#define BaseUrl @"我是正式服务器地址"
#endif

2. scheme相关设置

在进入正题之前先说一下scheme这个东西,理论就不说了.我喜欢直接操作和撸代码.当你会用了再回头去看那些理论你才会容易理解,否则用都没用,直接看到那些纯理论的字眼我就,唉呀妈呀脑瓜疼,脑瓜疼,脑瓜疼~~~

2.1 编辑 scheme

开发人员在运行代码的时候需要切换环境,比如Xcode默认是debug模!
式,只有archive时才是默认release的包.如果需要开发编译的时候切成release模式,可以通过编辑scheme来实现


步骤一.png 步骤二.png 步骤三.png

2.2 新建 scheme

切换环境的时候,我们还是需要手动编辑scheme.如果不想这么做.我们可以选择(图步骤二)中下面的那个new schemes选项,新建一个scheme并设置好它的build Configuration.之后的使用只用来回切换scheme就可以了.需要用到哪个环境就选择对应的scheme来cmd + r 就好了.

图一.png

2.3 新建 Build Configuration

2.3.1 如果你是OC项目:
  1. 选中 工程->Project->Info 后,我们可以看到有一栏Configurations


    图二.png

    图中红框部分就是我们的环境,可以看到Debug,Release本来就有的.我们需要新建的话就点击箭头指向的加号+后,一般选则第一个带有debug字眼的那个选项.至于为什么这里不做赘述,请自行了解.

  2. 比如我新建了一个预发布的环境,取名为preRelease


    图三
  3. 这时我们回到2.1中描述的步骤,选中scheme编辑会发现build Configuration中除了之前就有的Debug和Release多了一个preRelease选项


    图四
  4. 然后我们点击工程->Project->Build Setting->Preprocessor Macros查看会发现,多了一个PreRelease选项,这里我们可以定义一些预编译宏处理.后面的DEBUG=0 和 PRERELEASE=1就是我自定义的:


    图五

    在代码中我们就可以这么使用:

#if PRERELEASE
    NSLog(@"预发布版本");
#elif DEBUG
    NSLog(@"开发环境");
#else
    NSLog(@"生产环境");
#endif

更高阶的用法可以涉及 && 和 || 的配合使用,这不是本文重点,请自行充电 ~_~

2.3.2 如果你是swift项目:
        #if PreRelease
            print("PreRelease")
        #elseif DEBUG
            print("DEBUG")
        #else
            print("release")
        #endif

3. xcconfig文件的使用

上面铺垫了那么多,终于进入正题了.下面就来说下xcconfig文件的使用.

正如开篇说的那样,像那些需要视环境而定的一些配置参数.我们可以把他们都定义在xcconfig文件中.然后为每一个环境配置一个xcconfig文件.这样切环境之后,对应的需要更改的数据都会自动更换,省去了开发人员手动修改的步骤.

3.1 如果你是OC项目

3.1.1 xcconfig文件的创建
图九

示例代码中我创建了2个配置文件:


图十
3.1.2 xcconfig文件的关联

创建好了配置文件,接下来就是将其和项目环境关联起来
点击工程 -> Project -> Info -> Configuration

应该是篇幅太长了,后面其实还有很多,发布的时候不知道为什么后面的内容都没了. 准备另开一篇文章了. 妈个鸡 -_-!!
下一篇

上一篇 下一篇

猜你喜欢

热点阅读