在后台检查电子邮件验证

时间:2021-02-05 10:03:41

标签: swift swift5

我希望我的 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()
    }
}

0 个答案:

没有答案