我想让我的应用程序能够注销/删除用户,当我键入此代码时,
@IBAction func deleteTheAccountButtonHasBeenTapped(_ sender: Any) {
let user = Auth.auth().currentUser
var credential: AuthCredential
user?.reauthenticateAndRetrieveData(with: credential, completion: {(authResult, error) in
if let error = error {
// An error happened.
print(error)
}else{
//user re-authenticated
user?.delete { error in
if let error = error {
// An error happened.
print(error)
} else {
// Account deleted.
let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "LoginVC") as! LoginVC
self.present(vc, animated:true, completion:nil)
}
}
}
})
}
我得到了这个错误:
初始化之前使用的变量"凭据">
有人能帮我吗?
错误消息非常明确:在初始化credential
之前,您正在使用它。
为了删除用户,您需要首先对其进行重新身份验证,如重新身份验证用户的文档所示。您的版本没有实现该代码中的注释:
// Prompt the user to re-provide their sign-in credentials
如何重新验证用户取决于提供程序。例如,对于电子邮件/密码,您可以通过以下方式获得它们:
credential = EmailAuthProvider.credential(withEmail: email, password: password)
在链接帐户的文档中,可以方便地找到其他提供商的类似片段。