スポンサーリンク
iOSで、タッチIDやフェイスIDを使った生体認証機能を追加する方法を解説します。
まずはUsage Descriptionの追記
まずは生体認証の利用目的をInfo欄に追加します。入れておかないと生体認証を実行した時にアプリがクラッシュします。
今回はパスコードの代わりに使いたいのでその旨を。
Face ID Usage Descriptionと書いてあるけど、指紋認証用の追記は必要ないそうです、が、手元に指紋認証の端末が無いので確認はしていません。
では実装
import LocalAuthentication
...
let context = LAContext()
var error: NSError?
// 生体認証が利用できるかチェック
guard context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) else {
print(error?.localizedDescription ?? "Can't evaluate policy")
return
}
// 生体認証
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: NSLocalizedString("auth_discription", comment: "パスコードの代わりに利用します")) { (success, error) in
guard error == nil else {
// エラーハンドリングをする
return
}
if success {
// 認証成功
} else {
// 認証失敗
}
}
スポンサーリンク