[swift] Swift Presentr를 이용한 앱의 사용자 인증 구현 방법

소개

이 글은 Swift Presentr 라이브러리를 이용하여 iOS 앱에서 사용자 인증 구현 방법을 알려드립니다.

Swift Presentr란?

Swift Presentr는 UIAlertController를 사용하여 간편하게 커스텀 팝업을 만들어주는 라이브러리입니다. UIAlertController를 더욱 유용하게 사용하기 위해 만들어진 이 라이브러리는 다양한 팝업 스타일과 커스텀 옵션을 제공하며, 사용자 경험을 향상시킬 수 있습니다.

앱의 사용자 인증 구현 방법

  1. Swift Presentr 라이브러리를 프로젝트에 추가합니다.
    pod 'Presentr'
    
  2. 로그인 뷰 컨트롤러(LoginViewController)를 생성합니다.
    import UIKit
    
    class LoginViewController: UIViewController {
        // 로그인 로직 구현
    }
    
  3. 사용자 인증이 필요한 뷰 컨트롤러에서 Swift Presentr를 사용하여 로그인 화면을 모달로 표시합니다.
    import UIKit
    import Presentr
    
    class MainViewController: UIViewController {
        let presenter: Presentr = {
            let presenter = Presentr(presentationType: .popup)
            presenter.transitionType = .coverVerticalFromTop
            presenter.dismissOnSwipe = false
            return presenter
        }()
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            if !isLoggedIn() {
                showLoginScreen()
            }
        }
    
        func isLoggedIn() -> Bool {
            // 사용자가 로그인되어 있는지 확인하는 로직
        }
    
        func showLoginScreen() {
            let loginVC = LoginViewController(nibName: "LoginViewController", bundle: nil)
            customPresentViewController(presenter, viewController: loginVC, animated: true, completion: nil)
        }
    }
    
  4. 로그인 화면(LoginViewController)에서 인증 성공 시 모달을 종료하고 원래 화면으로 돌아가도록 처리합니다.

    import UIKit
    
    class LoginViewController: UIViewController {
        // ...
    
        @IBAction func loginButtonTapped(_ sender: UIButton) {
            // 로그인 로직 수행
    
            if isLoginSuccess {
                dismiss(animated: true, completion: {
                    // 메인 화면으로 돌아가는 로직
                })
            } else {
                // 로그인 실패 팝업 표시
                let alertController = UIAlertController(title: "로그인 실패", message: "아이디와 비밀번호를 다시 확인해주세요.", preferredStyle: .alert)
                let okAction = UIAlertAction(title: "확인", style: .default, handler: nil)
                alertController.addAction(okAction)
                present(alertController, animated: true, completion: nil)
            }
        }
    }
    

마치며

Swift Presentr 라이브러리를 사용하면 앱 내에서 간단하게 커스텀 팝업을 구현할 수 있습니다. 사용자 인증과 같은 중요한 기능에 활용하여 사용자 경험을 향상시킬 수 있습니다. 해당 라이브러리의 다양한 옵션과 스타일을 활용하여 앱의 사용자 인증 구현을 보다 간편하고 멋지게 만들어보세요!

참고 자료