我想要一个方法或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)
}
}
}
答案 0 :(得分:0)
除了执行其他操作外,您还需要检查登录返回的错误代码,以便知道用户是否未注册或是否存在其他错误。因此,在您的代码中:
if error != nil {
//Handle the logic here if user not signed in
}
您可以对照返回的错误代码列表进行检查。根据您的情况,您可以检查FIRAuthErrorCodeUserNotFound
,这是所有API方法的常见错误代码。