2017-02-07 20:24:58 +08:00
|
|
|
//
|
2018-01-29 03:23:34 +08:00
|
|
|
// PasscodeLock.swift
|
|
|
|
|
// PassKit
|
2017-02-07 20:24:58 +08:00
|
|
|
//
|
2018-01-29 03:23:34 +08:00
|
|
|
// Created by Yishi Lin on 28/1/2018.
|
|
|
|
|
// Copyright © 2017 Yishi Lin. All rights reserved.
|
2017-02-07 20:24:58 +08:00
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import Foundation
|
2018-01-29 03:23:34 +08:00
|
|
|
import LocalAuthentication
|
2017-02-07 20:24:58 +08:00
|
|
|
|
2018-01-29 03:23:34 +08:00
|
|
|
open class PasscodeLock {
|
|
|
|
|
public static let shared = PasscodeLock()
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2018-01-29 03:23:34 +08:00
|
|
|
fileprivate let passcodeKey = "passcode.lock.passcode"
|
|
|
|
|
fileprivate var passcode: String? {
|
|
|
|
|
return SharedDefaults[.passcodeKey]
|
2017-02-07 20:24:58 +08:00
|
|
|
}
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2018-01-29 03:23:34 +08:00
|
|
|
public var hasPasscode: Bool {
|
|
|
|
|
return passcode != nil
|
2017-02-07 20:24:58 +08:00
|
|
|
}
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2017-02-07 20:24:58 +08:00
|
|
|
public func save(passcode: String) {
|
2017-06-13 11:42:49 +08:00
|
|
|
SharedDefaults[.passcodeKey] = passcode
|
2017-02-07 20:24:58 +08:00
|
|
|
}
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2017-02-07 20:24:58 +08:00
|
|
|
public func check(passcode: String) -> Bool {
|
|
|
|
|
return self.passcode == passcode
|
|
|
|
|
}
|
2018-12-09 16:59:07 -08:00
|
|
|
|
2017-02-07 20:24:58 +08:00
|
|
|
public func delete() {
|
2017-06-13 11:42:49 +08:00
|
|
|
SharedDefaults[.passcodeKey] = nil
|
2017-02-07 20:24:58 +08:00
|
|
|
}
|
|
|
|
|
}
|