Swift3 iOS -Firebase FIREmailPasswordAuthProvider 不工作
Swift3 iOS -Firebase FIREmailPasswordAuthProvider Not Working
我刚刚将我的 Firebase Cocoapods 从 3.15.0 升级到 4.0.4,并将 FirebaseAuth Cocoapods 从 3.1.1 升级到 4.0.0。
我正在使用电子邮件和密码对用户进行身份验证。当用户更改他们的电子邮件时,我使用了下面的这种方法,一切正常:
FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
更新后收到错误消息
Value of type 'String' has no member 'credential'
我看了docs,上面说要用下面的方法:
问题是我得到了完全相同的错误:
FIREmailAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
Value of type 'String' has no member 'credential'
下面是我的原码
import Firebase
import FirebaseAuth
let user: User?
let credential = FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
if let user = user{
user.reauthenticate(with: credential, completion: {
(error) in
if error != nil{
//...do something
return
}
//...do something else
})
}
我做错了什么?
我还没有使用过 fireBase 的这个功能,不过看来这个 link 可能会有帮助
我认为您需要使用 EmailAuthProviderID 而不是 FIREmailAuthProviderID。在 Firebase 4.0 中不再使用 FIR 后缀。
希望对你有帮助:)
撑起[=13=]
FIREmailAuthProviderID 是一个常量,包含 auth providers id 并且是一个字符串(在 FB 4 中是 EmailAuthProviderID)。没有凭证功能,这就是您收到该错误的原因。
这是 link 到 Firebase 4 Migration Guide
新格式(和正确的函数调用)是
EmailAuthProvider.credential(withEmail email: String, password:
String) -> AuthCredential
20171014 编辑:已将 link 更新为最新的迁移指南。
我刚刚将我的 Firebase Cocoapods 从 3.15.0 升级到 4.0.4,并将 FirebaseAuth Cocoapods 从 3.1.1 升级到 4.0.0。
我正在使用电子邮件和密码对用户进行身份验证。当用户更改他们的电子邮件时,我使用了下面的这种方法,一切正常:
FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
更新后收到错误消息
Value of type 'String' has no member 'credential'
我看了docs,上面说要用下面的方法:
问题是我得到了完全相同的错误:
FIREmailAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
Value of type 'String' has no member 'credential'
下面是我的原码
import Firebase
import FirebaseAuth
let user: User?
let credential = FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
if let user = user{
user.reauthenticate(with: credential, completion: {
(error) in
if error != nil{
//...do something
return
}
//...do something else
})
}
我做错了什么?
我还没有使用过 fireBase 的这个功能,不过看来这个 link 可能会有帮助
我认为您需要使用 EmailAuthProviderID 而不是 FIREmailAuthProviderID。在 Firebase 4.0 中不再使用 FIR 后缀。
希望对你有帮助:)
撑起[=13=]
FIREmailAuthProviderID 是一个常量,包含 auth providers id 并且是一个字符串(在 FB 4 中是 EmailAuthProviderID)。没有凭证功能,这就是您收到该错误的原因。
这是 link 到 Firebase 4 Migration Guide
新格式(和正确的函数调用)是
EmailAuthProvider.credential(withEmail email: String, password: String) -> AuthCredential
20171014 编辑:已将 link 更新为最新的迁移指南。