2016-09-19 9 views
0

Swift 3に移行した後に問題が発生しました。 - ユーザーがfacebookログインボタンに接続すると何も起こりません。Facebookにログインした後、Firebaseにログインしていません。Swift 3

これはスウィフト3に移動した後に私のコードです:

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) { 
     print("user logged in") 
     self.loginButton.isHidden = true 
     activityIndicator.startAnimating() 
     if error != nil { 
      self.loginButton.isHidden = false 
      activityIndicator.stopAnimating() 
      print("???") 
      //handle errors 
     } else if result.isCancelled { 
      self.loginButton.isHidden = false 
      activityIndicator.stopAnimating() 
      let loginManager = FBSDKLoginManager() 
      loginManager.logOut() 
      //handle cancel 
      print("canceled") 
     } else { 
      let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString) 
      FIRAuth.auth()?.signIn(with: credential) { (user, error) in 
       print("user logged to firebase app") 

      } 
     } 

それはuser logged inを印刷していないとも私は、このコードはあなたを助けることを願っていますuser logged to firebase app

答えて

0

を印刷しません。

func fbLogin() { 
    let facebookLogin = FBSDKLoginManager() 

    // MARK:- Sign In with facebook. 
    facebookLogin.logIn(withReadPermissions: ["email"], from: self) { (facebookResult, facebookError) -> Void in 
     if facebookError != nil { 
      print("Facebook login failed. Error \(facebookError.debugDescription)") 
      // handle if there is an error 
     } else if (facebookResult?.isCancelled)! { 
      print("Facebook login was cancelled") 
      // handle if facebook login was canceled 
     } else { 
      // Sign in to Firebase with facebook credential. 
      let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString) 
      FIRAuth.auth()?.signIn(with: credential) { user, error in 
       if error != nil { 
        print("Login failed. \(error.debugDescription)") 
        // handle alert for error 
       } else { 
        guard let currentUser = user else { return } 
        print("Login success \(currentUser.uid)") 
        // do something with currentUser 

       } 
      } 
     } 
    } 
} 
関連する問題