2017-08-24 18 views
0

iOSアプリに "Facebook Login"を正常に統合しました。しかし、実装には小さな問題が1つあります。iOS facebookログインの問題

ログインに成功すると、アプリは「ホーム画面」を表示するのが理想的です。しかし、そのアプリの代わりに "ホーム画面"を表示する前に2秒間 "ログイン画面"を表示します。

「ログイン画面」に戻ることなく、「ホーム画面」が表示されるように、実装する方法は何ですか?

facebookログインコードは次のとおりです。

完了ブロック内
let loginManager = LoginManager()  
loginManager.logIn([.publicProfile, .email], viewController: self) 
     { (result) in 
      switch result 
      { 
      case .failed(let error): 
       print("Error") 
      case .cancelled: 
       print("User cancelled") 
      case .success(_,_,_): 
       self.getUserInfo 
        { userInfo, error in 

         let name = userInfo?["first_name"] 
         let email = userInfo?["email"] 

         let homeVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "homeVC") as! HomeViewController 

         homeVC.name = name as? String 
         homeVC.email = email as? String 

         self.present(homeVC, animated: true, completion: nil) 

       } 
      } 
     } 

おかげ

+0

Facebookが単にユーザからの認可を取得し、戻って情報を取得するために、あなたはあなたのコードを共有することができます助けを借りて –

答えて

0

あなたは、メインスレッド上でUIの操作を行うことを確認してください。

let loginManager = LoginManager()  
loginManager.logIn([.publicProfile, .email], viewController: self) 
    { (result) in 
     switch result 
     { 
     case .failed(let error): 
      print("Error") 
     case .cancelled: 
      print("User cancelled") 
     case .success(_,_,_): 
      self.getUserInfo 
       { userInfo, error in 

        // puts you back on the main thread 
        DispatchQueue.main.async(execute: { 

         let name = userInfo?["first_name"] 
         let email = userInfo?["email"] 

         let homeVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "homeVC") as! HomeViewController 

         homeVC.name = name as? String 
         homeVC.email = email as? String 

         self.present(homeVC, animated: true, completion: nil) 
        }) 

      } 
     } 
    } 
+0

がこれを試しましたが、依然として同じ問題に直面しています –

+0

おそらく、リクエストが戻ってくるのに2秒かかります。 – inorganik

関連する問題