每次触发sendPasswordReset(withEmail:completion:)
时,由于某种原因,用户都会收到两封密码重置电子邮件。这没什么大不了的,但是只是开始Beta测试并尝试准备问题。
这里是the relevant code,因为我弄乱了某件事很有可能:
@IBOutlet weak var resetButton: UIButton!
@IBAction func resetButtonTapped(_ sender: Any) {
Commands.auth.sendPasswordReset(withEmail: self.emailField.text!) {
error in
if error != nil {
// https://stackoverflow.com/a/37902747/1498178
if let errCode = AuthErrorCode(rawValue: error!._code) {
var errText = ""
switch errCode {
case .invalidRecipientEmail:
errText = "Incorrect email address."
case .invalidSender:
errText = "Invalid email address."
default:
errText = error!.localizedDescription
}
errText += "\n Please try again!"
self.errorText.text = errText
self.errorText.isHidden = false
self.yourEmailLabel.isHidden = true
self.emailField.becomeFirstResponder()
}
} else {
self.errorText.isHidden = true
self.yourEmailLabel.isHidden = false
let loginVC = self.presentingViewController as? LoginViewController
if loginVC != nil {
loginVC!.signInError.text = "Email sent!"
loginVC!.signInError.textColor = UIColor(red: 0.238, green: 0.753, blue: 0.323, alpha: 1.0)
self.dismiss(animated: true, completion: nil)
}
}
}
}
几年前,一位绅士基于their question遇到了类似的问题,但从未找到答案。