我希望我的 swift 应用程序检查电子邮件地址是否已验证,但在“等待屏幕”上有按钮,当对请求执行 while 循环时,这些按钮不起作用。我该如何解决这个问题? 我已经通过 dispatchingQueue 尝试过,但不幸的是你不能在另一个线程上执行 performSegue。
class VerifyEmailViewController: UIViewController {
@IBOutlet weak var mailgif: FLAnimatedImageView!
@IBOutlet weak var Restart: UIButton!
@IBAction func ResendMail(_ sender: Any) {
Auth.auth().currentUser?.sendEmailVerification()
}
@IBAction func DeleteAccount(_ sender: Any) {
Auth.auth().currentUser?.delete()
performSegue(withIdentifier: "RestartSignUp", sender: nil)
}
override func viewDidAppear(_ animated: Bool) {
if Auth.auth().currentUser?.isEmailVerified == true {
performSegue(withIdentifier: "EmailVerified", sender: nil)
}
else{
Auth.auth().currentUser?.sendEmailVerification { (error) in
// ...
print("check for email verified")
while Auth.auth().currentUser?.isEmailVerified != true {
Auth.auth().currentUser?.reload()
sleep(3)
}
print("Performing Segue")
self.performSegue(withIdentifier: "EmailVerified", sender: nil)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
}