iyOmSd/Title: Swift

[Swift] Auto Login 자동로그인 구현

냄수 2019. 8. 20. 17:52
반응형

로그인이 필요한 앱이 있다면 대부분 자동로그인 기능이 있죠

이 기능을 Swift에서 제공해주는데 정말 간단해요

 

guard let id = self.idTextField.text else {return}
guard let pw = self.pwTextField.text else {return}
        
if self.autoLoginCheckBox.on{
    UserDefaults.standard.set(id, forKey: "id")
    UserDefaults.standard.set(pw, forKey: "pw")
}

위와 같이 체크박스가 눌렸을때 자동로그인이 되도록 할건데요 

UserDefaults라는 클래스를 제공해주는데 set함수를 이용해서 원하는 key태그와 값으로  저장할 수 있어요

저 같은경우는

'id'태그에 id값을 저장했고

'pw'태그에 pw값을 저장했어요

 

func autoLogin() {
    if let userid = UserDefaults.standard.string(forKey: "id") {
        if let pw = UserDefaults.standard.string(forKey: "pw") {
            //로그인 통신 함수
            LoginService.shared.getLoginResult(userid: userid, pw: pw){ b in
                if b {
                    print("auto login")
                }
            }
        }
    }
}
    
func autoLogout(){
    UserDefaults.standard.removeObject(forKey: "id")
    UserDefaults.standard.removeObject(forKey: "pw")
}

UserDefaults에 있는 값을 꺼내와서 자동로그인기능을 구현 할 수 있어요

아까 저장해두었던 태그값으로 접근하고 있는지 확인후 로그인 처리를 해주면되요

 

반대로 자동로그인을 제거하고 싶을땐 removeObject라는 함수를 이용하면 간단하게 삭제할 수 있어요

반응형