2016-03-31 11 views
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() 
      } 
     }) 
    } 

}

+3

これは本当にユーザーに敵意を感じさせるデザインです。デザインの観点から再考する必要があります。 – sschale

+0

少なくともパスコードのフォールバックを許可することを検討してください。あなたがパスコードを知っていれば、新しい指を登録することができるので、touchIDがパスコードよりも安全であるという考えの罠のために落ちない – Paulw11

答えて

1

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") 
       dispatch_async(dispatch_get_main_queue(), {() -> Void in 
        self.authenticate() 
       }) 
      } 
     }) 
    } 
} 
関連する問題