Swift에 애플의 터치 ID를 사용하는 방법

11105 단어 SwiftiOS
노트는 iOS 8에서 가져온 Local Authentication을 사용하여 TouchID(지문 인증)를 통해 보안을 설정하는 방법

Local Authentication 추가


import LocalAuthentication

터미널에서 터미널을 지원하는지 확인


let context = LAContext()
var error :NSError?
if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error){}

Touch ID 인증 시 분기 처리


let localizedReason = "認証する理由を入力"
context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: localizedReason, reply: {
                success, error in

                if success {
                    NSLog("認証成功")

                } else {
                    switch error.code {
                    case LAError.AuthenticationFailed.rawValue:
                        NSLog("認証失敗")
                    case LAError.UserCancel.rawValue:
                        NSLog("キャンセル")
                    case LAError.UserFallback.rawValue:
                        NSLog("パスコードを入力を選択")
                    case LAError.PasscodeNotSet.rawValue:
                        NSLog("パスコードが設定されていない")
                    case LAError.SystemCancel.rawValue:
                        NSLog("システムによってキャンセルされた")
                    default:
                        NSLog("不明なエラー")
                        return
                    }
                }
            })

코드



import UIKit
import LocalAuthentication

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func TouchIdButtomPressed(sender: AnyObject) {

        let context = LAContext()
        var error :NSError?
        let localizedReason = "認証する理由を入力"

        if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error){

            //TocuhIDに対応している場合
            context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: localizedReason, reply: {
                success, error in

                if success {
                    NSLog("認証成功")

                } else {
                    switch error.code {
                    case LAError.AuthenticationFailed.rawValue:
                        NSLog("認証失敗")
                    case LAError.UserCancel.rawValue:
                        NSLog("キャンセル")
                    case LAError.UserFallback.rawValue:
                        NSLog("パスコードを入力を選択")
                    case LAError.PasscodeNotSet.rawValue:
                        NSLog("パスコードが設定されていない")
                    case LAError.SystemCancel.rawValue:
                        NSLog("システムによってキャンセルされた")
                    default:
                        NSLog("不明なエラー")
                        return
                    }
                }
            })

        }else{
            //TocuhIDに対応していない場合
            NSLog("TourchIDに対応してない")
        }

    }

}


결실



터치 ID를 사용할 수 있는 어플리케이션

  • 1Password
  • scanbot
  • 무료 가계수지부-금전전선
  • 평생 통장, 가계부보다 가볍다!
  • 가계부 앱·영수증 가계부'자임'
  • 터치 ID를 지원하는 다른 애플리케이션이 있다면 알려 주십시오.

    좋은 웹페이지 즐겨찾기