生体認証はこのような記事を参考に実装ができましたが、セキュリティ要件的にパスコードでの突破を無効にしたいという要望がありました。
パスコード無効自体は .evaluatePolicy
を .deviceOwnerAuthenticationWithBiometrics
に指定することで簡単に指定可能ですが、生体認証に失敗した後に「パスワードを入力」というアラートが出てしまい、ちぐはぐな状態となってしまいます。
その場合,このように .localizedFallbackTitle
に空文字を指定することで生体認証失敗時のアラートでキャンセルボタンのみが表示されるようになりました。
let context = LAContext()
//パスコードの選択肢を表示させない
context.localizedFallbackTitle = ""
※ nilを指定するとダメでした。
context.localizedFallbackTitle = nil