[swift] Swift Device의 터치ID 및 얼굴인식 기능

Touch ID 사용하기

Touch ID는 사용자의 손가락 지문을 사용하여 인증하는 기능입니다. 아래의 코드를 사용하여 Touch ID를 사용할 수 있습니다.

import LocalAuthentication

class ViewController: UIViewController {
    func authenticateWithTouchID() {
        let context = LAContext()
        var error: NSError?

        guard context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) else {
            if let error = error {
                print("Touch ID를 사용할 수 없음: \(error.localizedDescription)")
            }
            return
        }

        context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "지문 인식을 사용하여 로그인합니다.") { (success, authenticationError) in
            if success {
                print("인증 성공")
            } else {
                if let error = authenticationError {
                    print("인증 실패: \(error.localizedDescription)")
                } else {
                    print("인증 취소")
                }
            }
        }
    }
}

위 코드에서 authenticateWithTouchID() 함수를 호출하면 Touch ID가 사용된 로그인 인증 프로세스가 시작됩니다.

Face ID 사용하기

Face ID는 사용자의 얼굴을 사용하여 인증하는 기능입니다. Touch ID와 비슷한 방식으로 Face ID를 사용할 수 있습니다. 아래의 코드를 사용하세요.

import LocalAuthentication

class ViewController: UIViewController {
    func authenticateWithFaceID() {
        let context = LAContext()
        var error: NSError?

        guard context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) else {
            if let error = error {
                print("Face ID를 사용할 수 없음: \(error.localizedDescription)")
            }
            return
        }

        context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "얼굴 인식을 사용하여 로그인합니다.") { (success, authenticationError) in
            if success {
                print("인증 성공")
            } else {
                if let error = authenticationError {
                    print("인증 실패: \(error.localizedDescription)")
                } else {
                    print("인증 취소")
                }
            }
        }
    }
}

위의 코드에서 authenticateWithFaceID() 함수를 호출하여 Face ID를 사용하여 로그인 프로세스를 시작할 수 있습니다.

이처럼 Swift를 사용하면 Touch ID 및 Face ID 기능을 손쉽게 구현할 수 있습니다. 단지 기기에서 이러한 기능을 지원하는지 확인한 다음, LAContext 클래스의 evaluatePolicy(_:localizedReason:reply:) 메서드를 사용하여 인증을 수행하면 됩니다.

참고: Apple Developer Documentation - Touch ID Apple Developer Documentation - Face ID