🔒

Swiftで顔認証・指紋認証を簡単に実装する

2020/12/22に公開

環境

  • Xcode 12.2
  • Swift 5.0

実装

classで実装してもよいと思いますが、今回はstaticメソッドしか持たないのでenumで実装します。

import LocalAuthentication

enum LocalAuthentication {
  static func auth(_ completion: @escaping (Bool) -> Void) {
    let context = LAContext()
    if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) {
      context.evaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        localizedReason: "ログイン機能に利用します") { isSuccess, _ in
        completion(isSuccess)
      }
    } else {
      print("認証機能が利用できませんでした")
    }
  }
}

使い方

LocalAuthentication.auth { _ in
    // TODO: 認証成功時の処理をよしなに実装
}

Discussion