升级FirebaseAuth后iOS端登录页面Email选项消失求助
解决升级FirebaseAuth后Email登录选项消失的问题
我刚碰到过一模一样的坑!升级FirebaseUI之后,Email登录的配置逻辑确实变了,不再是把FUIEmailAuthProvider直接塞进providers数组里了。
正确的配置步骤:
- 先获取FUIAuth的实例:
guard let authUI = FUIAuth.defaultAuthUI() else { // 处理获取实例失败的情况 return }
- 配置Email登录提供者(这一步是关键!):
let emailProvider = FUIEmailAuthProvider() // 如果你需要自定义Email登录行为,比如允许用户注册、设置密码最小长度等,可在这里配置 // 示例:开启Email注册功能 // emailProvider.signInWithEmailOption = .enable // 将配置好的Email提供者绑定到authUI实例 authUI.emailAuthProvider = emailProvider
- 再设置其他第三方登录提供者的数组(这里不需要再添加Email相关项):
let providers: [FUIAuthProvider] = [ FUIGoogleAuth(), FUIFacebookAuth(), FUITwitterAuth(), FUIPhoneAuth(authUI: authUI) ] authUI.providers = providers
为什么之前的代码会报错?
新版本的FirebaseUI把FUIEmailAuthProvider的初始化器改成了内部访问权限,所以你没法直接用FUIEmailAuthProvider()创建实例,必须通过FUIAuth的emailAuthProvider属性来配置Email登录。这个变更确实没在文档里显眼标注,很容易踩坑。
按上面的步骤配置后,登录页面的Email选项就会重新出现了,亲测有效!
内容的提问来源于stack exchange,提问作者jimijon
相关产品推荐
相关产品推荐

