iOS

【iOS】生体認証を追加する方法を解説

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 {
        // 認証失敗

    }
}

 

できました〜
認証中のアニメーションは自動で表示されます。