DBEnvironmentConfiguration 0.2.0

DBEnvironmentConfiguration 0.2.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最后发布2014年12月

David Benko维护。



概述

为iOS应用提供超级简单的环境配置。通过改变一个单词来在环境之间切换。

安装

手动安装
  • DBEnvironmentConfiguration文件夹添加到您的项目中
  • 导入头文件(#import "DBEnvironmentConfiguration")

环境文件

文件格式

  • 支持的格式包括.json.plist
  • 默认配置文件是environments.json
示例JSON文件
{
    "Development": {
        "base_url": "https://dev.mycompany.com",
        "api_version": "5"
    },
    "Staging": {
        "base_url": "https://stage.mycompany.com",
        "api_version": "3"
    },
    "Production": {
        "base_url": "https://mycompany.com",
        "api_version": "3"
    }
}

示例

[DBEnvironmentConfiguration setEnvironment:@"Staging"]; // Set Environment (Defaults to 'Development')
NSString *baseURL = [DBEnvironmentConfiguration valueForKey:@"base_url"]; // Done 

环境检测

DBEnvironmentConfiguration可以检测应用程序的构建类型。您可以映射这些构建类型到环境,以便环境会自动切换。

可能的构建类型

    DBBuildTypeUndetermined,
    DBBuildTypeSimulator,
    DBBuildTypeDebug,
    DBBuildTypeAdHoc,
    DBBuildTypeAppStore,
    DBBuildTypeEnterprise

您可以将构建类型单独映射或作为一个NSDictionary *映射。

    // Individual mapping
    [DBEnvironmentConfiguration setEnvironment:@"Development" forBuildType:DBBuildTypeSimulator];

    // Map all environments at once
    [DBEnvironmentConfiguration setEnvironmentMapping:@{
                                                        [NSNumber numberWithInt:DBBuildTypeSimulator]     : @"Development",
                                                        [NSNumber numberWithInt:DBBuildTypeDebug]         : @"Development",
                                                        [NSNumber numberWithInt:DBBuildTypeAdHoc]         : @"Staging",
                                                        [NSNumber numberWithInt:DBBuildTypeAppStore]      : @"Production",
                                                        [NSNumber numberWithInt:DBBuildTypeEnterprise]    : @"Production"
                                                        }];

通过调用setEnvironment:手动设置环境将关闭环境检测。您还可以通过调用setEnvironmentDetection:来启用/禁用环境检测。

简写

DBEnvironmentConfiguration允许简写来获取环境变量和设置环境

启用环境变量简写
    #define _DBEC_SHORTHAND_                    // Set before importing header
    #import <DBEnvironmentConfiguration/DBEnvironmentConfiguration.h> 

...

    SET_BUILD_ENVIRONMENT(@"Staging");          // Set the environment
    SET_ENVIRONMENT_MAPPING(@{@2:@"Staging"});  // Map environments
    NSString *baseURL = ENV(@"base_url");       // Get environment variables 

许可证

MIT许可证 (MIT)

版权所有(c) 2014 David Benko

特此授予任何人免费获得本软件及相关文档副本(以下简称"软件")的权利,未经限制地使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或转让软件副本的权利,并允许获得软件的人有权利如此操作,但需遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何类型的保证,无论是明示的、暗示的,包括但不限于适合商用的保证、特定目的适用性和非侵权性。在下列情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论是否存在合同行为、侵权行为或其他行为,无论索赔、损害或其他责任是否源于、源于或与软件或软件的使用或其他方面有关: