A simple keychain tools.
// use default service for BundleIdentifier
let keychain = Keychain.generic
// or custome
let keychain = Keychain(serivce: "custome-service-name")
let key = "KeychainTestKey"
let value = "isKeychainTest"
// set or update, string
keychain.set(value, forKey: key)
// or data
keychain.set(Data(), forKey: key)
// get String?
keychain.string(forKey: key) // result: isKeychainTest
// get Data?
keychain.data(forKey: key)
keychain.remove(key: key)
Can use KeychainHelper to make uniqueIdentifier
, it saves in keychain.
And the service
(key) is the project's bundleIdentifer + "." + "uniqueIdentifier":
eg:
Bundle Identifier: "cc.iwecon.keychain"
UniqueIdentiferService: "cc.iwecon.keychainuniqueIdentifier"
// will be return a String of unique identifier
// default key: uniqueIdentifier
// default service: Bundle.main.bundleIdentifier ?? ""
KeychainHelper.uniqueIdentifier()
// or you can custome key and service for Keychain
KeychainHelper.uniqueIdentifier("the-key-of-unique-identifier", forService: "com.xxxx.app.service")
.package("https://github.com/iWECon/Keychain", from: "3.0.0")