CSCConfigLoader 0.1.3

CSCConfigLoader 0.1.3

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2015年5月

Ryan Meador维护。



CSCConfigLoader提供了一个简单的接口,用于在iOS应用程序中加载静态配置数据(如服务器名称、API密钥等)。支持允许Pod提供其自己的默认配置并在主应用程序中覆盖它们。将配置数据从源代码中排除!

此Pod基本上是iOS plist文件加载功能的薄包装器,但它提供了一种更简单的接口、缓存和继承。

安装

CSCConfigLoader可通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中:

pod "CSCConfigLoader"

示例

要运行示例项目,请克隆仓库,然后从Example目录运行pod install

示例项目仅加载主配置,并使用NSLog打印出其中的测试值。目前没有UI。在应用程序代理中只有(稍微)有趣的自定义代码。

使用

通过在XCode中右键单击您想要的目录 -> 新建文件 -> 资源 -> 属性列表创建配置文件。请确保给文件命名为"config"。您可以将任何配置值添加到其中。

要访问配置值,首先需要导入库

#import "CSCConfigLoader.h"

获取实例

实例在内部库中缓存,以实现快速访问,因此它们只有第一次访问时才会产生加载时间——请放心重复使用这些方法来访问键。因此,创建实例的唯一方法是使用CSCConfigLoader的类方法。有三个这样的方法

+ (instancetype) mainConfig

返回表示主bundle配置的对象。

+ (instancetype) configFromBundle:(NSBundle *)bundle

返回表示指定bundle配置的对象。这对于Pod开发者非常有用,他们可以在Pod的资源包中拥有自己的私有配置。

+ (instancetype) mainConfigWithFallbackFrom:(NSBundle *)bundle

返回代表主包配置的对象,但如果在主包中找不到键,它还会从提供的包中搜索配置。这对希望创建默认值的包开发商最有用,但希望主应用程序(包的用户)能够覆盖这些值。

加载您的包资源包

您很可能希望按名称加载您的包资源包。这是指定在您 podspec 的 resource_bundles 属性的键。然后您可以按此方式加载:

[NSBundle bundleWithPath:[[NSBundle mainBundle]
            pathForResource:@"YOUR_BUNDLE_NAME"
                     ofType:@"bundle"]];

根据您的包配置,还可能使用 NSBundlebundleForClass: 方法,并传递您的包类之一。但这超出了本说明文档的范围。

从一个实例中获取键

所有键都可通过下标访问,就像访问 NSDictionary 中的键的语法一样。假设有一个名为 conf 的实例,您可以通过以下方式获取名为 YOUR_KEY_HERE 的键的值:conf[@"YOUR_KEY_HERE"]

在实践中,您可能更倾向于将其作为一行使用,如 [CSCConfigLoader mainConfig][@"YOUR_KEY_HERE"]。不言而喻,应该用需要访问的键的名称替换 YOUR_KEY_HERE

这就是全部了!

作者

本包由 Cast Social Company 创建,专门用于在旗舰产品 Cast 中使用。希望其他人也能用到它!

许可

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