如何检查电话号码是否已注册Firebase Swift

时间:2019-01-23 18:22:20

标签: swift firebase

我想要一个方法或if语句,如果用户在用户选择之前已经注册,请转到主ViewController;否则,请填写用户可以填写所有信息的ViewController,比如说要上传到Firebase数据库的个人信息,而不仅仅是一个用户

我的代码是:

@IBAction func login(_ sender: Any) {

    let credintal :PhoneAuthCredential = PhoneAuthProvider.provider().credential(withVerificationID: defaults.string(forKey: "authVID")!, verificationCode: entercode.text!)


    Auth.auth().signIn(with: credintal) { (user,error) in
        if error != nil {
            print(error)
        }else {
            // i need if statment here 
            // example if no user registred   {Go go 
            let userInfo = user?.providerData[0]

            self.performSegue(withIdentifier: "fillform", sender: 
            Any?.self)} 
          else { Go To elf.performSegue(withIdentifier: "MainView", 
               sender: Any?.self)} 
             }


            print("Provide ID \(userInfo?.providerID)")
            self.performSegue(withIdentifier: "fillform", sender: Any?.self)


        }

    }
}

1 个答案:

答案 0 :(得分:0)

除了执行其他操作外,您还需要检查登录返回的错误代码,以便知道用户是否未注册或是否存在其他错误。因此,在您的代码中:

if error != nil {
    //Handle the logic here if user not signed in 
}

您可以对照返回的错误代码列表进行检查。根据您的情况,您可以检查FIRAuthErrorCodeUserNotFound,这是所有API方法的常见错误代码。