测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最后发布 | 2015 年 11 月 |
SPM支持 SPM | ✗ |
由 Pete Barber 维护。
一个简单的 Swift 库,用于在 iOS Keychain 中 CRUD 实例化 NSData 和/或实现 NSCoding 的对象
此库有两个接口:
这两个类都是使用两个值构建的:您的应用程序的 BundleId(尽管实际上可以是任何字符串)和一个独特的键(也是一个字符串)来标识您的条目。
let itemCRUDer = KeyChainItemCRUD(bundleId: NSBundle.mainBundle().bundleIdentifier!, keyChainItemKey: “something”)
然后可以调用以下方法:
这些方法与以下更高级方法的主要区别在于,每个方法都是具体的。createItem()只会创建一个新条目,如果它已存在则返回 false。同样,updateItem()需要一个现有的条目。显然,readItem()也是如此。
除了返回表示成功或失败的价值外,还将底层 KeyChain API 的返回值设置到属性 lastError 中。
对于许多目的而言,在保存条目时,是创建它还是更新它并不重要。同样,删除一个不存在的条目通常也不重要。如果是这种情况,请使用这些更高级的方法。首先创建一个 KeyChainItemKey 的实例:
let item = KeyChainItem(bundleId: NSBundle.mainBundle().bundleIdentifier!, keyChainItemKey: “something”)
然后可以调用以下方法:
如果需要加载/保存的对象是 NSCoding 兼容的
可以 CRUD 多个条目,但由于每个条目都需要不同的键,因此需要不同的实例。
最低目标系统为iOS 8。源代码可以复制到单独的项目中,但它被打包为框架。
包含了一个示例应用程序。它遵循CocoaPods的标准,称为Example。这是一个简单的单视图应用程序,允许创建、读取、更新和删除单个项。它使用高级对象接口。
提供了CRUD和高级接口的单元测试。