1

我在我的应用程序中使用 Facebook SDK 3.8。

我正在使用 FBLoginView 以图形方式登录 Facebook 用户。

我的应用中有一些视图:

  • ViewController(应用启动时的主视图)
  • LoginViewController(带有 FBLoginView 的视图)
  • StoryViewController(只允许经过身份验证的 Facebook 用户访问的视图)

在 ViewController 上,用户单击 View Story 按钮,如果他尚未使用 Facebook 登录,我使用 segue 将用户引导到 LoginViewController。

在 LoginViewController 上,用户单击使用 Facebook 登录,然后应用程序提示用户输入我设置的一些权限,用户单击确定后,它只是返回到 LoginViewController。

我的问题是:一旦用户接受了许可并以 Storyboard 模式登录 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 回答