Touch ID Local Authentication 产生 Thread 12: EXC error
Touch ID Local Authentication produces Thread 12: EXC error
目前,我有以下代码。
if localAuthenticationContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) {
localAuthenticationContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString) { success, evaluateError in
if success {
self.performSegue(withIdentifier: "settingChange", sender: self) //TODO: User authenticated successfully, take appropriate action
如果 touch id 被正确验证,代码会执行一个 segue 到另一个视图控制器,但是当我尝试代码时,我得到这个错误:
我在不使用 TouchID 的情况下尝试了代码,它工作正常,但我不知道为什么它在使用 TouchID 时会产生错误。有人可以帮忙吗?
performSegue 操作可能存在问题。所有 UI 更改相关的操作都必须在主队列中执行。将 DispatchQueue
与 main.
一起使用
试试看(注意: 我在 Swift 4 中有解决方案:
if success {
DispatchQueue.main.async(execute: {
self.performSegue(withIdentifier: "settingChange", sender: self)
})
}
目前,我有以下代码。
if localAuthenticationContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) {
localAuthenticationContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString) { success, evaluateError in
if success {
self.performSegue(withIdentifier: "settingChange", sender: self) //TODO: User authenticated successfully, take appropriate action
如果 touch id 被正确验证,代码会执行一个 segue 到另一个视图控制器,但是当我尝试代码时,我得到这个错误:
我在不使用 TouchID 的情况下尝试了代码,它工作正常,但我不知道为什么它在使用 TouchID 时会产生错误。有人可以帮忙吗?
performSegue 操作可能存在问题。所有 UI 更改相关的操作都必须在主队列中执行。将 DispatchQueue
与 main.
试试看(注意: 我在 Swift 4 中有解决方案:
if success {
DispatchQueue.main.async(execute: {
self.performSegue(withIdentifier: "settingChange", sender: self)
})
}