我在我的应用程序中使用了LocalAuthentication进行Touch ID身份验证,但是每个UIViewController都会显示Touch ID警报以进行身份验证,那么如何在UIViewController中只调用一次?
答案 0 :(得分:0)
您只需创建BOOL
变量并在FALSE
中设置值为appDelegate
,并在一个viewController中进行身份验证时,将BOOL
变量的值更新为{{ 1}}。在每个viewController中,检查TRUE
变量是BOOL
还是TRUE
并相应地编码。
答案 1 :(得分:0)
使用这个简单的API来简化您的使用:
{'orders': [{'createdTime': '2016-02-29T23:26:32Z',
'currentStatus': {'additionalProperties': {},
'customInfo': None,
'stateActionDescription': None,
'stateCode': 'DESPATCH_END',
'stateDescription': 'Despatch completed',
'stateType': 'DISPATCH',
'timestamp': '2016-03-02T12:47:26Z',
'updateId': 378379,
'user': 'Dave Ffitch'},
在任何您喜欢的地方使用它:
import UIKit
import LocalAuthentication
typealias completionHandler = (evaluationComplete: Bool) -> ()
func showTouchID(Reason reason: String, _ shouldShow: Bool, SuperDone : completionHandler){
guard shouldShow == true else{
return
}
let bike = LAContext()
guard bike.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: nil) else{
SuperDone(evaluationComplete: false)
return
bike.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reason) {(_, error) in
dispatch_async(dispatch_get_main_queue(), {
guard error != nil else{
SuperDone(evaluationComplete: false)
return
}
SuperDone(evaluationComplete: true)
})
}
}