Интерфейс аутентификации Firebase

Я думаю, что когда вы определяете String, вы определяете объект. Поэтому вам нужно использовать .equals(). Когда вы используете примитивные типы данных, вы используете ==, но с String (и любым объектом) вы должны использовать .equals().

0
задан Frank van Puffelen 10 March 2019 в 04:38
поделиться

2 ответа

Это работает с текущей версией 5:

override func viewDidLoad() {
        super.viewDidLoad()
        handle = Auth.auth().addStateDidChangeListener({ (auth, user) in
            if user == nil {

                if let authUI = FUIAuth.defaultAuthUI() {
                    authUI.delegate = self

                    let providers: [FUIAuthProvider] = [
                        FUIEmailAuth(),
                    ]
                    authUI.providers = providers

                    let provider = authUI.providers.first as! FUIEmailAuth;
                    provider.signIn(withPresenting: self, email: nil);
                }
            }
            else{
                self.userLbl.text = user?.displayName
            }
        })
    }
0
ответ дан Craig Jarman 10 March 2019 в 04:38
поделиться

Это исправлено. Кажется, реализация изменилась.

override func viewDidLoad() {
        super.viewDidLoad()
        handle = Auth.auth().addStateDidChangeListener({ (auth, user) in
            if user == nil {

                if let authUI = FUIAuth.defaultAuthUI() {
                    authUI.delegate = self
                    let authViewController = authUI.authViewController()
                    self.present(authViewController, animated: true, completion: {})
                }
            }
            else{
                self.userLbl.text = user?.displayName
            }
        })
    }

И вернуться к предыдущей версии:

pod 'Firebase/Core', '<5'
pod 'Firebase/Firestore', '<5'
pod 'FirebaseUI', '<5'
0
ответ дан Craig Jarman 10 March 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: