From 5a74ea572535060dba58d1af7cc8a72e4e727a4f Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Wed, 22 Jul 2020 11:37:09 +0300 Subject: [PATCH] Use KeychainStore to read/write user pin --- Riot/Modules/SetPinCode/PinCodePreferences.swift | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Riot/Modules/SetPinCode/PinCodePreferences.swift b/Riot/Modules/SetPinCode/PinCodePreferences.swift index b84e6ee63..7f458faba 100644 --- a/Riot/Modules/SetPinCode/PinCodePreferences.swift +++ b/Riot/Modules/SetPinCode/PinCodePreferences.swift @@ -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) } }