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。我使用电子邮件和放大器;密码来验证用户。当用户更改他们的电子邮件时,我在下面使用这个方法,一切工作正常:
$ p $ FIREmailPasswordAuthProviderID.credential(withEmail:emailTextField。 text !, password:passwordTextField.text!)
现在我更新了错误信息
类型'String'的值没有成员'凭证'
我查看了
$FIREmailAuthProviderID.credential(withEmail: emailTextField.tex t !,密码:passwordTextField.text!)
字符串'没有成员'凭证'
我的原始代码
导入Firebase
导入FirebaseAuth
让用户:用户?
让凭证= FIREmailPasswordAuthProviderID.credential(withEmail:emailTextField.text !,密码:passwordTextField.text!)
如果let user = user {
user.reauthenticate (with:credential,completion:{
(error)in
if error!= nil {
//...do something
return
}
//... do something else
})
}
我做错了什么?
FIREmailAuthProviderID 是一个包含auth提供者id的常量,并且是一个字符串(在FB 4中为EmailAuthProviderID)。没有凭证功能,这就是为什么你得到这个错误。
这是一个链接到 Firebase 4移植指南
新格式(以及正确的函数调用)是
$ b
EmailAuthProvider.credential(带电子邮件:字符串,密码:
字符串) - > AuthCredential
20171014编辑:更新了最新迁移指南链接。
I just upgraded my Firebase Cocoapods from 3.15.0 to 4.0.4 and FirebaseAuth Cocoapods from 3.1.1 to 4.0.0.
I'm using email & password to authenticate users. When a user changes their email I was using this method below and everything was working fine:
FIREmailPasswordAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
Now that I updated I get the error message
Value of type 'String' has no member 'credential'
I looked on the docs and it said to use the method below:
The problem is I get the same exact error:
FIREmailAuthProviderID.credential(withEmail: emailTextField.text!, password: passwordTextField.text!)
Value of type 'String' has no member 'credential'
My original code below
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
})
}
What am I doing wrong?
Hold up
FIREmailAuthProviderID is a constant that contains the auth providers id and is a string (which is EmailAuthProviderID in FB 4). There is no credential function which is why you are getting that error.
Here's a link to the Firebase 4 Migration Guide
The new format (and the correct function call) is
EmailAuthProvider.credential(withEmail email: String, password: String) -> AuthCredential
20171014 Edit: updated link to latest migration guide.
这篇关于Swift3 iOS -Firebase FIREmailPasswordAuthProvider不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!