2013-01-08 30 views
0

嗨我正在开发一个应用程序。在应用程序是可以唱歌与Facebook或不...在应用程序的几个地方,你可以分享你自己的时间表上的东西。如何处理在Facebook会话ios sdk

我跟着Facebook提供的美味示例,登录工作正常...但是当我必须共享东西时,我不知道是否有必要或不要检查会话是否处于活动状态调用FBRequestConnection方法发布到fb。

处理这个问题的最佳方法是什么?因为所有的身份验证都是在代理中调用open session方法,所以...我必须从应用程序的任何位置调用此方法?我怎么回到我之前拨打认证方法的地方...我确定必须有某种类型的顾客可以使用,但我找不到哪一个......

任何想法?

谢谢!

回答

1

使用这样的代码块来确保会话是开放的,这很重要,因为如果用户不会,你的应用将崩溃。然后你需要在FBRequestConnection中拥有OpenGraph对象。

if (FBSession.activeSession.isOpen) { 
     [[FBRequest requestForMe] startWithCompletionHandler: 
     ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
      if (!error) { 
       self.nameString = user.name; 
       self.profileImage.profileID = user.id; 
       self.userName = user.username; 
       [self.tableView reloadData]; 
      } 
     }]; 
    } 
} 

**对于低于您的评论:**

好吧,那么也许弹出一个UIAlertView要求用户登录到Facebook上。如果选择是,然后像做

AppDelegate *appDelegate = [UIApplication sharedApplication].delegate; 
[appDelegate openSessionWithAllowLoginUI:YES]; 

假设你的AppDelegate看起来美味。

+0

好的,但我的问题是更一般的,如何处理打开会话,如果用户没有记录?因为如果它没有记录,我必须在代理中调用一个方法,然后如何返回我离开的位置? – Andres

+0

查看编辑答案。我希望这就是你要找的! – jakenberg