测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新版本 | 2017 年 9 月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✓ |
由 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 示例项目的实际操作。
为了方便,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
。
InfoKit 默认为 Main Bundle,但是您可以根据需要指定 Bundle。
Plist<Products>("ProductIDs", in: bundle)
InfoKit 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。
中文是世界上 #1 种使用最多的语言,我很乐意让 InfoKit 更具包容性。不幸的是,我不会说中文。如果您会说中文,并且想帮忙,请参阅 问题 #1
谢谢