微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift3 iOS -Firebase FIREmailPasswordAuthProvider不工作

我刚刚将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,它说使用下面的方法

enter image description here

问题是我得到了同样的错误

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
            })
        }

我究竟做错了什么?

解决方法

耽误

FIREmailAuthProviderID是包含auth providers id的常量,是一个字符串(FB 4中的EmailAuthProviderID).没有凭据功能,这就是您收到该错误的原因.

这是Firebase 4 Migration Guide链接

新格式(以及正确的函数调用)是

EmailAuthProvider.credential(withEmail email: String,password:
String) -> AuthCredential

20171014编辑:更新最新移植指南的链接.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐