2017-05-06 15 views
-1

FacebookとParseを使用してログインしようとしています。私はviewcontrollerviewDidLoadに次のコードを書いています。Facebook Login Swift 3

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let permissions = ["public_profile"] 
    PFFacebookUtils.logInInBackground(withReadPermissions: permissions) { (user, error) in 

     if let error = error{ 
      print(error) 
     } 
     else{ 
      if let user = user{ 
       print(user) 
      } 
     } 
    } 
} 

アプリが最初に起動したときにアプリをFacebookログインにリダイレクトできません。しかし、私は別のページから最初のページに行くと、Facebookのログインは期待どおりに動作します。私はここで起こっていることをデバッグすることができず、運が無ければ無限の時間を費やしました。

答えて

0

あなたがviewDidAppearにコードを移動することができます。

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let permissions = ["public_profile"] 
    PFFacebookUtils.logInInBackground(withReadPermissions: permissions) { (user, error) in 

     if let error = error{ 

      print(error) 

     } 

     else{ 
      if let user = user{ 
       print(user) 
      } 
     } 
    } 
} 
+0

をちょっとそれが働きました。しかし、私のユーザーは印刷されていません。私はデバッグし、制御は、私がアプリケーションを承認した後、ブロックに全く入っていません。それはエラーメッセージ –

+0

こんにちは、あなたがユーザーと、エラーを表示するように印刷を移動することができ、プリントアウトしないの –

+0

nilをがあっても問題はコントロールもエラーとユーザの内側に入らないということです。メインブレースを完全にスキップします。私は理由がわからない –