KeychainKit

又一个 Security framework 封装库。

用法

let data = Data("Hello world!".utf8)
let keychainID = "fr.frostland.Keychain.testBasicStorage"

/* Set some data in the keychain. */
try Keychain.GenericPassword(service: keychainID)
   .upsertInKeychain(updatedAttributes: .init(value: data))

/* Retrieve the data from the keychain. */
let storedData = try Keychain.GenericPassword(service: keychainID)
   .fetchAnyMatchingFromKeychain(retrieveProtectedData: true)?
   .protectedData
assert(data == storedData) /* This should be true */

/* Delete some data from the keychain. */
try Keychain.GenericPassword(service: keychainID)
   .deleteFromKeychain()