Use KeychainStore to read/write user pin

This commit is contained in:
ismailgulek 2020-07-22 11:37:09 +03:00
parent 81e8e25c58
commit 7fa26ebf9d
No known key found for this signature in database
GPG key ID: E96336D42D9470A9

View file

@ -22,13 +22,18 @@ final class PinCodePreferences: NSObject {
// MARK: - Constants
private enum UserDefaultsKeys {
private enum StoreKeys {
static let pin = "pin"
}
static let shared = PinCodePreferences()
// MARK: - Properties
/// Store. Defaults to `KeychainStore`
var store: KeyValueStore!
override init() {
store = KeychainStore()
}
// MARK: - Public
@ -53,11 +58,10 @@ final class PinCodePreferences: NSObject {
/// Saved user PIN
var pin: String? {
// TODO: Move pin to a safer area
get {
return UserDefaults.standard.object(forKey: UserDefaultsKeys.pin) as? String
return store.getObject(forKey: StoreKeys.pin) as? String
} set {
UserDefaults.standard.set(newValue, forKey: UserDefaultsKeys.pin)
store.setObject(forKey: StoreKeys.pin, value: newValue)
}
}