(Быстрый) проект падает при отмене аутентификации facebook - PullRequest
0 голосов
/ 30 мая 2018

Мой проект использует Firebase и Facebook Authentication.Это работает нормально, но когда я решаю отменить Аутентификацию Facebook (в первый раз, когда я получаю uid), происходит сбой проекта.Вот метод, который я использую:

   func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
        let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
        Auth.auth().signInAndRetrieveData(with: credential) { (user, error) in
            // [START_EXCLUDE]

            if let error = error {
                print(error.localizedDescription)
                return
            }
            self.uid = Auth.auth().currentUser?.uid

            self.firstFetch()


            // [END_EXCLUDE]
        }
        print("logged in")
    }

Может ли кто-нибудь мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 31 мая 2018

Хорошо, вся реализация этой функции была неправильной, потому что она выбирала пользователя независимо от того, была ли она аутентифицирована или нет.Вот новый метод, который я написал:

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: 

    FBSDKLoginManagerLoginResult!, error: Error!) {
            if error != nil {
                print("look a at your.. errm.. code, please", error.localizedDescription)
            } else if result.isCancelled {
                print("houston, we have a situation: the player cancelled the auth request")
            } else {
            let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
            Auth.auth().signInAndRetrieveData(with: credential) { (user, error) in
                self.uid = Auth.auth().currentUser?.uid
                print("you're in, remember: with great power comes great responsibility!")
                self.firstFetch()
                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...