Allow resettig app in the passcodelockview

This commit is contained in:
Yishi Lin 2019-09-28 21:38:32 +08:00
parent 6b3d75c1be
commit 35f599c45b
3 changed files with 65 additions and 26 deletions

View file

@ -12,7 +12,11 @@ public class PasscodeLock {
private static let identifier = Globals.bundleIdentifier + "passcode"
/// Cached passcode to avoid frequent access to Keychain
private var passcode: String? = AppKeychain.shared.get(for: PasscodeLock.identifier)
private var passcode: String? {
get {
AppKeychain.shared.get(for: PasscodeLock.identifier)
}
}
/// Constructor used to migrate passcode from SharedDefaults to Keychain
private init() {
@ -28,7 +32,6 @@ public class PasscodeLock {
public func save(passcode: String) {
AppKeychain.shared.add(string: passcode, for: PasscodeLock.identifier)
self.passcode = passcode
}
public func check(passcode: String) -> Bool {
@ -37,6 +40,5 @@ public class PasscodeLock {
public func delete() {
AppKeychain.shared.removeContent(for: PasscodeLock.identifier)
passcode = nil
}
}