FaceID 인증 및 Lottie 애니메이션
13208 단어 Swift
FaceID 인증 및 Lottie 애니메이션
기능 설명
Info.plist
Privacy - Face ID Usage Description
추가 코드
pod 'lottie-ios'
를 입력 Podfile
pod 'lottie-ios'
ViewController (FaceID 구현)
import LocalAuthentication
입력 LAContext
Class를 사용하여 확인합니다.LAContext
가 가지고있는 canEvaluatePolicy()
메서드를 사용합니다.ViewController
import UIKit
import LocalAuthentication
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func faceID(_ sender: Any) {
let context = LAContext()
var error: NSError? = nil
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
let reason = "touch id!"
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { [self] success, error in
DispatchQueue.main.async { [self] in
guard success, error == nil else{
//認証失敗時
self.alert(titleString: "!!!Faild!!!", messageString: "FaceID認証に失敗しました")
return
}
//認証成功時
self.alert(titleString: "!!!Succesd!!!", messageString: "FaceID認証に成功しました")
}
}
}
}
func alert(titleString:String,messageString:String){
let alert = UIAlertController(title: titleString, message: messageString, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { _ in
let LottieVC = self.storyboard?.instantiateViewController(identifier: "LottieVC") as! LottieViewController
self.navigationController?.pushViewController(LottieVC, animated: true)
}))
present(alert, animated: true, completion: nil)
}
}
LottieViewController (Lottie 애니메이션 구현)
import Lottie
입력 AnimationView
클래스의 인스턴스 만들기 animationView.frame = CGRect(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)
에서 애니메이션을 표시 할 범위를 만듭니다 animationView.animation = 表示したいアニメーションデータ
표시 할 애니메이션 데이터를 설정합니다.animationView.loopMode = .loop
반복 재생되도록 설정 animationView.play()
에서 재생 animationView.stop()
에서 애니메이션 중지 LottieViewController
import UIKit
import Lottie
class LottieViewController: UIViewController {
let animationView = AnimationView()
let lottieAnimation = Animation.named("Lottieアニメーションのデータ")
override func viewDidLoad() {
super.viewDidLoad()
createLottie()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true
}
func createLottie(){
animationView.frame = CGRect(x: 0, y: 88, width: 442, height: 412)
animationView.animation = lottieAnimation
animationView.contentMode = .scaleToFill
animationView.loopMode = .loop
animationView.play()
view.addSubview(animationView)
}
@IBAction func back(_ sender: Any) {
animationView.removeFromSuperview()
animationView.stop() //アニメーションをストップ
let VC = self.storyboard?.instantiateViewController(identifier: "VC") as! ViewController
self.navigationController?.pushViewController(VC, animated: true)
}
}
끝
상당히 간단하게 애니메이션을 할 수 있어 즐겁습니다.
지적 등이 있으면, 코멘트까지 부탁합니다.
Reference
이 문제에 관하여(FaceID 인증 및 Lottie 애니메이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/HiroUrata/items/9657f498c741b3c39fdf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(FaceID 인증 및 Lottie 애니메이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/HiroUrata/items/9657f498c741b3c39fdf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)