1
タッチIDアラートが表示されている場合は、「キャンセル」ボタンもあります。私は、ユーザーがさらに続行を禁止されているため、キャンセルを許可しないことをお勧めします。 1.「キャンセル」ボタンを削除する方法はありますか? 2.「キャンセル」ボタンが必要な場合、ユーザーに指紋で再認証させるにはどうすればよいですか? authenticate()が2度目に呼び出された場合は、Touch ID APIを使用するだけです。代わりのパスコードはありません。別のビューコントローラをコード化する必要はありません。あなたがメインキューにself.authenticate
にあなたの失敗の呼び出しをディスパッチする必要がユーザーがタッチIDをキャンセルできないようにすることはできません
func authenticate() {
let myContext:LAContext = LAContext()
let authError:NSErrorPointer = nil
if (myContext.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: authError)) {
myContext.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Press fingerprint", reply: { (success:Bool, error:NSError?) -> Void in
if success == true {
log.debug("SUCCESSFUL AUTHENTICATION")
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.performSegueWithIdentifier("showUI", sender: self)
})
}
else {
log.debug("FAILED AUTHENTICATION")
self.authenticate()
}
})
}
}
これは本当にユーザーに敵意を感じさせるデザインです。デザインの観点から再考する必要があります。 – sschale
少なくともパスコードのフォールバックを許可することを検討してください。あなたがパスコードを知っていれば、新しい指を登録することができるので、touchIDがパスコードよりも安全であるという考えの罠のために落ちない – Paulw11