あなたの助けを前にありがとう!SwiftのFacebookログイン後にSegueが起動しない
私は執筆中の迅速なアプリケーションでFacebookのログインを実装していますが、ログインが完了した後で、セグを実行する際に問題が発生しています。
FBSDKLoginButtonDelegateの一環として、私は二つの方法があります:
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result:
FBSDKLoginManagerLoginResult!, error: NSError!)
{}
と
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!)
{}
をログインボタンが正しく実装されて、私は権限/ FBトークンを読み取ることができていますし、上にこれを渡しますAmazon Cognito。
しかし、奇妙なことは、プログラムから別のビュー(コントローラ)にログインすることができないということです。
FBログインボタンを押すと、ユーザーはウェブブラウザ(Facebook SDKがこれをすべて処理する)に移動し、ログインが行われます。
私は同じように、セグエを配置する場合:)(loginButtonに
dispatch_async(dispatch_get_main_queue(), {
self.performSegueWithIdentifier("segueLoginViewtoHome", sender: nil })
Webブラウザがなくなったときに、それは決して真の実行(すなわち、ユーザーは、ログインボタンをビューに戻され、 segueが意図した新しいビューではない)。私はブラウザのウィンドウがログインボタン(とsegue)を含むビューに戻る前に行が実行されると信じていますが、プログラムが唯一のアクティブな状態になるようにプログラムに指示する方法はありません。セグを実行します。
ブラウザに切り替える必要がないloginButtonDidLogOut()に同じセグコードを入れると、「ログアウト」がシートにプッシュされた後にsegueが正常に実行されるためです画面の下からスライドします。
このビューコントローラは、ログアウト時に発生するようにコーディングされている場合、segueが正常に機能するように、デリゲートとして正しく設定されます。
お手数をおかけしますようお願い申し上げます。長くお詫び申し上げます。ありがとうございます!
完璧な呼び出しビューのDidAppearは私が必要とした方法でした。お手伝いありがとう! – kmypwn
私が気づいた奇妙なことは、ユーザーがコードジェネレータを使用してログインする必要がある場合、セグが発生しないことです。何か案は? – kmypwn
私は助けてうれしいです。コードジェネレータはどういう意味ですか?あなたは私に例を挙げることができますか? –