1

アプリで Facebook SDK 3.8 を使用しています。

FBLoginView をグラフィカルに使用して、Facebook ユーザーにログインしています。

アプリにいくつかのビューがあります。

  • ViewController (アプリ起動時のメインビュー)
  • LoginViewController (FBLoginView を含むビュー)
  • StoryViewController (認証された Facebook ユーザーのみがアクセスできるビュー)

ViewController で、ユーザーが [View Story] ​​ボタンをクリックすると、Facebook でまだサインインしていない場合は、セグエを使用してユーザーを LoginViewController に誘導します。

LoginViewController で、ユーザーが Facebook でログインをクリックすると、アプリはユーザーに設定したいくつかの権限を要求し、ユーザーが [OK] をクリックすると、LoginViewController に戻ります。

私の質問は次のとおりです。ストーリーボードモードで、ユーザーが許可を受け入れて Facebook にログインしたら、StoryViewController に移行する方法を教えてください。

LoginViewController.m 内にメソッド (以下) がありますが、呼び出されることはありません。- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView

私が間違っていることは何ですか?

編集:

これは AppDelegate.m の中にあります

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {
   // attempt to extract a token from the url
   return [FBSession.activeSession handleOpenURL:url];
   //return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
 }

そして、これをViewController.m内に持っています

 - (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
     NSLog(@"To get FB user profile...");
 }

しかし、デバッガーから、「FBユーザープロファイルを取得するには...」というメッセージが表示されませんでした。

4

1 に答える 1

1

//このメソッドを AppDelegate に実装していますか? なければ実装。

    - (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
      sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {
// FBSample logic
// We need to handle URLs by passing them to FBSession in order for SSO authentication
// to work.
return [FBSession.activeSession handleOpenURL:url];

}

//そして、fbloginview のこのデリゲート メソッドでビュー コントローラー、つまり StoryViewController をプッシュできます

    - (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
      //you can navigate to your view controller 
     }
于 2013-10-11T08:03:20.263 に答える