Предварительно встроенный пользовательский интерфейс входа в Firebase не показывает кнопку Войти с помощью электронной почты - PullRequest
0 голосов
/ 16 марта 2019

Я использую встроенный пользовательский интерфейс Firebase для аутентификации моего приложения, и он некоторое время работал, используя 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 голосов
/ 08 мая 2019

В моем случае после включения pod 'FirebaseUI/Email' мне также пришлось обновить массив провайдеров:

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

        authUI?.providers = providers
0 голосов
/ 27 марта 2019

После того, как я обновил свои модули, мне пришлось явно включить модуль FirebaseUI / Email в мой файл модуля, тогда как раньше он мне не понадобился. В том числе и это исправило проблему.

...