基于Swift 4强大的Codable新特性, 在短短60行代码内InfoKit即可提供Info.plist文件的强类型访问.
安装 >> 安装说明
<<
首先根据项目bundle中Info.plist文件的属性类型, 定义Codable协议的结构体.
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
为了方便性, 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)
当初始化Plist
时, 如果没有Plist名或者没有Bundle名, 如:
Plist<Info>()
InfoKit
将会默认使用Main Bundle中的Info.plist文件来配置构建.
因为该特征, 你可以使用多个Info.plist文件来进行不同的配置仍然有预期的结果.
在example中, 你可以通过在配置选项debug, staging和release之间切换来看到该结果.
InfoKit在MIT许可下发布. 详见LICENSE.