测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
Released最后发布 | 2014年12月 |
由David Benko维护。
为iOS应用提供超级简单的环境配置。通过改变一个单词来在环境之间切换。
DBEnvironmentConfiguration
文件夹添加到您的项目中#import "DBEnvironmentConfiguration"
).json
和.plist
。environments.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
特此授予任何人免费获得本软件及相关文档副本(以下简称"软件")的权利,未经限制地使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或转让软件副本的权利,并允许获得软件的人有权利如此操作,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何类型的保证,无论是明示的、暗示的,包括但不限于适合商用的保证、特定目的适用性和非侵权性。在下列情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论是否存在合同行为、侵权行为或其他行为,无论索赔、损害或其他责任是否源于、源于或与软件或软件的使用或其他方面有关: