如何在Storyboard中执行FBLoginView后转换到另一个视图?

时间:2013-10-11 07:30:50

标签: ios facebook facebook-ios-sdk

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

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

我的应用中有一些观点:

  • ViewController(推出应用时的主视图)
  • LoginViewController(具有FBLoginView的视图)
  • StoryViewController(仅允许经过身份验证的Facebook用户访问的视图)

在ViewController上,用户点击View Story按钮,如果他还没有登录Facebook,我会使用segue将用户定向到LoginViewController。

在LoginViewController上,用户点击使用Facebook登录,然后该应用提示用户我设置了一些权限,用户点击确定后,它只返回到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用户配置文件...”

1 个答案:

答案 0 :(得分: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 
     }