RemoteConfig 1.6.0

RemoteConfig 1.6.0

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布最新发布2014年12月

Kevin Renskerseightytwo维护。



  • Kevin Renskers

Objective-c库用于加载带有本地定义默认值的远程JSON/XML配置文件。

安装

最佳且最简单的方式是使用CocoaPods

pod 'RemoteConfig'

如何开始

创建一个GVJSONRemoteConfigGVXMLRemoteConfig的子类,并重写以下方法:

  • - (NSURL *)remoteFileLocation;(必需)
  • - (void)setupMapping;(必需)
  • - (NSTimeInterval)redownloadRate;(可选,默认情况下,远程文件每24小时重新下载一次)

建议添加配置值的自定义属性。不过,键值编码同样可行。

示例

查看包含示例应用:Config.mViewController.m

要运行示例应用,通过CocoaPods安装其依赖:pod install

@interface Config : GVJSONRemoteConfig

@property (strong, nonatomic) NSNumber *exampleIntegerValue;
@property (strong, nonatomic) NSString *exampleStringValue;
@property (strong, nonatomic) NSString *nonExistingStringValue;

+ (Config *)sharedInstance;

@end
@implementation Config

+ (Config *)sharedInstance {
    static dispatch_once_t pred;
    static Config *sharedInstance = nil;
    dispatch_once(&pred, ^{ sharedInstance = [[self alloc] init]; });
    return sharedInstance;
}

- (NSURL *)remoteFileLocation {
    return [NSURL URLWithString:@"https://raw.github.com/gangverk/RemoteConfig/master/Example/example.json"];
}

- (void)setupMapping {
    [self mapRemoteKeyPath:@"remote_integer_value" toLocalAttribute:@"exampleIntegerValue" defaultValue:[NSNumber numberWithInteger:1]];
    [self mapRemoteKeyPath:@"remote_string_value" toLocalAttribute:@"exampleStringValue" defaultValue:@"Default local value"];
    [self mapRemoteKeyPath:@"nonexisting_string_value" toLocalAttribute:@"nonExistingStringValue" defaultValue:@"Default local value for nonexisting value on server"];
}

@end

要求

  • iOS 5
  • ARC
  • Xcode 4.4或更高版本

问题和疑问

有错误吗?请在GitHub上创建一个问题

待办事项

待办事项列表中以下事项:

  • 检查最后修改头信息,以便在不更改数据的情况下不解析数据(使用NSURLRequestReloadRevalidatingCacheData已经限制了下载,但我们仍然总是解析旧数据)
  • 添加测试

使用RemoteConfig的应用

  • last.fm Scrobbler
  • MetroLyrics
  • Radio.com
  • Tailgate Fan

您是否在iOS或Mac OS X应用中使用RemoteConfig?请发送包含更新README.md文件的拉取请求以包括在内。

许可协议

RemoteConfig在MIT许可下可用。有关更多信息,请参阅LICENSE文件。