티스토리 뷰

728x90
반응형

애플의 Face ID 를 활용한 샘플 프로젝트와 개발자 문서를 정리해봤다.

iOS) Face ID & Touch ID - Biometrics Authentication(생체인식 인증)

자, 이제 카카오톡 QR코드 위젯에 적용해보자.

내용

  • 앱 접근 시 Face ID 를 통해서 인증을 필요로 한다.

스크린샷 2021-09-14 오전 9 57 10

시작하기

🔓 프로젝트 설정

4

🔓 UI 구성

  • 기기에서 Face ID 를 지원하면 Face ID 버튼을 보여줌.

🔓 Face ID 적용

mvvm 패턴에서 Face ID 인증 절차를 가지는 Service 클래스를 만들고 로직을 구성하였다.

  • FaceIDAuthenticationViewController
private func setFaceIDAuthentication() {
        faceIDButton.isHidden = service.checkBiometryTypeFaceID()
        service.loginWithFaceID()
}
  • FaceIDAuthenticationService
import Foundation
import LocalAuthentication

class FaceIDAuthenticationService {

    var context = LAContext()

    enum AuthenticationState {
        case loggedin, loggedout
    }

    var state = AuthenticationState.loggedout

    // ✅ 장비가 Face ID 가능한지 묻는 것
    func checkBiometryTypeFaceID() -> Bool {
        return context.biometryType == .faceID
    }

    func loginWithFaceID() {
        context.localizedCancelTitle = "Enter Username/Password"

        var error: NSError?
        if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) {

            let reason = "Log in to your account"
            context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: reason ) { success, error in

                if success {

                    // Move to the main thread because a state update triggers UI changes.
                    DispatchQueue.main.async { [unowned self] in
                        self.state = .loggedin
                    }
                } else {
                    print(error?.localizedDescription ?? "Failed to authenticate")
                }
            }
        } else {
            print(error?.localizedDescription ?? "Can't evaluate policy")
        }
    }
}

결과

깃허브

 

GitHub - 28th-SOPT-iOS-CloneCoding/MiraClone-KimHyunGyu: 🧚 아요 미라클론코딩 김현규

🧚 아요 미라클론코딩 김현규. Contribute to 28th-SOPT-iOS-CloneCoding/MiraClone-KimHyunGyu development by creating an account on GitHub.

github.com

 

728x90
반응형
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
Total
Today
Yesterday