如何在facebook ios sdk中处理会话

如何在facebook ios sdk中处理会话,ios,cocoa-touch,facebook-ios-sdk,Ios,Cocoa Touch,Facebook Ios Sdk,嗨,我正在开发一个应用程序。在该应用程序中,您可以在facebook上唱歌,也可以不唱歌。。。在应用程序的多个地方,您可以在自己的时间线上共享内容 我遵循了facebook提供的极好的例子,登录工作正常。。。但是当我必须共享内容时,我不知道在调用FBRequestConnection方法发布到fb之前是否有必要检查会话是否处于活动状态 最好的处理方法是什么?因为所有身份验证都是通过调用委托中的打开会话方法进行的,所以。。。我必须在应用程序的任何地方调用此方法?如何回到调用身份验证方法之前的位置。

嗨,我正在开发一个应用程序。在该应用程序中,您可以在facebook上唱歌,也可以不唱歌。。。在应用程序的多个地方,您可以在自己的时间线上共享内容

我遵循了facebook提供的极好的例子,登录工作正常。。。但是当我必须共享内容时,我不知道在调用
FBRequestConnection
方法发布到fb之前是否有必要检查会话是否处于活动状态

最好的处理方法是什么?因为所有身份验证都是通过调用委托中的
打开会话
方法进行的,所以。。。我必须在应用程序的任何地方调用此方法?如何回到调用身份验证方法之前的位置。。。我确信一定有某种赞助人可以使用,但我找不到哪一种

有什么想法吗


谢谢

使用类似这样的代码块确保会话已打开,这一点很重要,因为如果用户未打开会话,您的应用程序将崩溃。然后需要在FBRequestConnection中打开图形对象

    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];
             }
         }];
    }
}

假设您的AppDelegate看起来非常棒。

好的,但我的问题更一般,如果用户未登录,我如何处理打开会话?因为如果它没有被记录,我必须在委托中调用一个方法,然后我如何回到我离开的地方?
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate openSessionWithAllowLoginUI:YES];