Firebase登录预建UI不显示“使用电子邮件登录”按钮

时间:2019-03-16 06:38:23

标签: ios swift xcode firebase firebase-authentication

我正在使用Firebase的预建登录UI进行我的应用程序的身份验证,并且使用Facebook,Google和电子邮件/密码身份验证可以使它们全部运行一段时间。 然后出于某种奇怪的原因,我测试过的每台设备上的“使用电子邮件登录”按钮都消失了。

这是设备的照片: enter image description here

以下是从Firebase文档启用电子邮件登录的说明: enter image description here

这正是我所做的: enter image description here

这是我用来显示“登录”屏幕的代码:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    if Auth.auth().currentUser == nil {
        let providers: [FUIAuthProvider] = [
            FUIGoogleAuth(),
            FUIFacebookAuth(),
            ]
        authUI!.providers = providers

        self.showLoginScreen()
    }

func showLoginScreen() {
    authViewController = authUI!.authViewController()
    self.present(authViewController, animated: true, completion: nil)
}
func authPickerViewController(forAuthUI authUI: FUIAuth) -> FUIAuthPickerViewController {
    return LoginViewController(authUI: authUI)
}

这是我的登录屏幕子类,以便对其进行自定义(最终):

class LoginViewController: FUIAuthPickerViewController {

override init(nibName: String?, bundle: Bundle?, authUI: FUIAuth) {
    super.init(nibName: "FUIAuthPickerViewController", bundle: bundle, authUI: authUI)
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override func viewDidLoad() {
    super.viewDidLoad()
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    //self.title = ""
    self.view.backgroundColor = UIColor.red


}

}

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

更新了pod之后,我不得不在pod文件中明确包含pod FirebaseUI / Email,而在不需要之前。 包括在内解决了这个问题。

答案 1 :(得分:0)

就我而言,在加入pod 'FirebaseUI/Email'之后,我还必须更新provider数组:

        let providers = [FUIGoogleAuth(), FUIEmailAuth()]

        authUI?.providers = providers