FirebaseAuth 升级 iOS 后电子邮件登录选项消失
Posted
技术标签:
【中文标题】FirebaseAuth 升级 iOS 后电子邮件登录选项消失【英文标题】:Email login option gone after FirebaseAuth upgrade iOS 【发布时间】:2019-07-03 13:13:48 【问题描述】:我突然不再在登录页面上看到电子邮件选项。它一直在那里,但自从升级它现在就消失了!
这是我声明提供者的方式:
let providers: [FUIAuthProvider] = [
FUIGoogleAuth(),
FUIFacebookAuth(),
FUITwitterAuth(),
FUIPhoneAuth(authUI:FUIAuth.defaultAuthUI()!)
]
我没有看到任何新的 EmailAuth。显然它一直是默认的,现在它消失了,我找不到任何更改通知。
编辑:
尝试添加:
let providers: [FUIAuthProvider] = [
FUIEmailAuthProvider(), <====== compile error
FUIGoogleAuth(),
FUIFacebookAuth(),
FUITwitterAuth(),
FUIPhoneAuth(authUI:FUIAuth.defaultAuthUI()!)
]
但出现此错误:
'FUIEmailAuthProvider' 无法构造,因为它没有可访问的初始化程序
【问题讨论】:
据我所知,您在release 6.0 of FirebaseUI for ios 中启用/禁用电子邮件登录的方式发生了变化。你用的是什么版本? @FrankvanPuffelen 6.1.0...感谢您的链接,但现在无法编译 【参考方案1】:首先需要:
pod 'FirebaseUI/Email'
然后添加:FUIEmailAuth(),
【讨论】:
【参考方案2】:如果您将FUIEmailAuthProvider()
替换为FUIEmailAuth()
会怎样;
let providers: [FUIAuthProvider] = [
FUIEmailAuth(),
FUIGoogleAuth(),
FUIFacebookAuth(),
FUITwitterAuth(),
FUIPhoneAuth(authUI: FUIAuth.defaultAuthUI()),
]
并将以下内容添加到Podfile:
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Email'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Facebook'
pod 'FirebaseUI/Twitter'
pod 'FirebaseUI/Phone'
根据:Using FirebaseUI for Authentication
【讨论】:
给出:使用未解析的标识符“FUIEmailAuth”;您的意思是“FUIGoogleAuth”吗? 是的,我在下面发表了另一条评论。必须先安装 pod。【参考方案3】:实际上它在 iOS 的 Firebase 文档中没有正确描述。
您必须添加 pod pod 'FirebaseUI/Email'
,然后:
-
导入 FirebaseUI
包括 FUIEmailAuth() 作为提供者
这将触发电子邮件登录。
【讨论】:
以上是关于FirebaseAuth 升级 iOS 后电子邮件登录选项消失的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS Firebase - 如果FirebaseAuth.FIRUser对象不是nil,它上面的.email怎么可能返回nil?
Firebase Auth - 更新用户的电子邮件后,Firebase Auth 会注销用户
创建 FirebaseAuth 实例创建并使用电子邮件和密码登录时收到错误
如何通过 iOS(swift)将 Firebase Auth 与 MySQL DB 同步?