gpt4 book ai didi

ios - 如何使用 FirebaseAuth 错误代码?

转载 作者:搜寻专家 更新时间:2023-11-01 06:32:26 25 4
gpt4 key购买 nike

我正在尝试在 Firebase 中使用 AuthErrorCode,但我不断收到错误。这是我的代码:

private func handleErrors(err: NSError, loginHandler: LoginHandler?) {

if let errCode = AuthErrorCode(rawValue: err.code) {

switch errCode {

case .errorCodeWrongPassword: //Enum case 'errorCodeWrongPassword' not found in type 'AuthErrorCode'
loginHandler?(LoginErrorCode.WRONG_PASSWORD)
break

case .errorCodeInvalidEmail: //Enum case 'errorCodeInvalidEmail' not found in type 'AuthErrorCode'
loginHandler?(LoginErrorCode.INVALID_EMAIL)
break

case .errorCodeUserNotFound: //Enum case 'errorCodeUserNotFound' not found in type 'AuthErrorCode'
loginHandler?(LoginErrorCode.USER_NOT_FOUND)
break

case .errorCodeEmailAlreadyInUse: //Enum case 'errorCodeEmailAlreadyInUse' not found in type 'AuthErrorCode'
loginHandler?(LoginErrorCode.EMAIL_ALREADY_IN_USE)
break

case .errorCodeWeakPassword: //Enum case 'errorCodeWeakPassword' not found in type 'AuthErrorCode'
loginHandler?(LoginErrorCode.WEAK_PASSWORD)
break

default:
loginHandler?(LoginErrorCode.PROBLEM_CONNECTING)
break

}

}

}

有人知道我做错了什么吗?如果您在这里没有看到我的代码中的错误,它们是:

Enum case 'errorCodeWrongPassword' not found in type 'AuthErrorCode'

Enum case 'errorCodeInvalidEmail' not found in type 'AuthErrorCode'

Enum case 'errorCodeUserNotFound' not found in type 'AuthErrorCode'

Enum case 'errorCodeEmailAlreadyInUse' not found in type 'AuthErrorCode'

Enum case 'errorCodeWeakPassword' not found in type 'AuthErrorCode'

如果你们有任何想法,请告诉我!

最佳答案

它们在 Swift 中作为 AuthErrorCode.weakPassword 导入,例如:从所有大小写值中删除 errorCode

private func handleErrors(err: NSError, loginHandler: LoginHandler?) {

guard let errCode = AuthErrorCode(rawValue: err.code)
else { return }

switch errCode {

case .wrongPassword:
loginHandler?(LoginErrorCode.WRONG_PASSWORD) // Transform to wrongPassword
case .invalidEmail:
loginHandler?(LoginErrorCode.INVALID_EMAIL)
case .userNotFound:
loginHandler?(LoginErrorCode.USER_NOT_FOUND)
case .emailAlreadyInUse:
loginHandler?(LoginErrorCode.EMAIL_ALREADY_IN_USE)
case .weakPassword:
loginHandler?(LoginErrorCode.WEAK_PASSWORD)
default:
loginHandler?(LoginErrorCode.PROBLEM_CONNECTING)
}

}



快速建议:

  • 不要在 switch 语句中使用 break,它们会在 case 完成后默认 break(fallthrough 允许您在匹配后检查每个 case)
  • Error 切换 NSError(Firebase 使用 NSError,如果你想切换到 Error 阅读 Swift 4 get error code from error )
  • LoginErrorCode 是您的自定义类吗?考虑为案例切换到 Swift >= 3 语法(小驼峰式)

关于ios - 如何使用 FirebaseAuth 错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45339861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com