InfoKit 0.0.2

InfoKit 0.0.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2017 年 9 月
SwiftSwift 版本4.0
SPM支持 SPM

Nuno Manuel Dias 维护。



InfoKit 0.0.2

  • 作者
  • Nuno Manuel Dias




简体中文

InfoKit 通过不超过 60 行代码,提供了对 Info.plist强类型 访问,同时利用了 Swift 4 强大的 Codable 功能。

安装 >>说明>>

用法

定义一个 Codable,用于访问从项目的 bundle Info.plist 文件中的属性。

struct Info: Codable {
    let baseUrl: String
    let staticUrl: String
}

并将 Info.plist 读入 Info 结构体中

// Define a Plist
let plist = Plist<Info>()

// Decode it
let info = plist.decode()

// Then access it's properties
info?.baseUrl    // http://debug.InfoKit.local
info?.staticUrl  // http://debug.static.InfoKit.local

构建配置

如果 Plist 类的初始化器中未指定任何资源或 bundle,则 InfoKit 将默认为主 Bundle 的 Info.plist 文件,该文件在项目的构建设置中定义。

init(_ resource: String? = nil, in bundle: Bundle = Bundle.main)

因此,您可以为不同的配置提供多个 Info.plist 文件,并获取所需的结果。请参阅提供的 iOS 示例项目的实际操作。

自定义 .plist

为了方便,InfoKit 还将提供对自定义 .plist 文件的访问。假设您包含一个 ProductIDs.plist 文件。首先,定义具有相应属性的结构体。

struct Products: Codable {
    let foo: String
    let bar: String
}

定义一个 Plist,这次,指定资源名称。例如,ProductIDs

let plist = Plist<Products>("ProductIDs") // Reads `ProductIDs.plist`
let products = plist.decode()

products?.foo // com.InfoKit.foo
products?.bar // com.InfoKit.bar

请记住,提供的用户属性列表必须复制到 bundle 中,所以请确保设置其 Target Membership

指定 Bundle

InfoKit 默认为 Main Bundle,但是您可以根据需要指定 Bundle

Plist<Products>("ProductIDs", in: bundle)

许可证

InfoKit 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE

需要帮助

审阅/翻译 README.zh-CN.md 为中文

中文是世界上 #1 种使用最多的语言,我很乐意让 InfoKit 更具包容性。不幸的是,我不会说中文。如果您会说中文,并且想帮忙,请参阅 问题 #1

谢谢🙏