等待FB openActiveSession完成?

时间:2014-06-12 19:49:14

标签: ios facebook

很抱歉,如果有一个隐藏的答案,但在搜索一段时间后我找不到它。

我目前正在尝试使用Facebook的SDK来创建和打开活动会话,在我的方法中,我从这开始:

[FBSession openActiveSessionWithReadPermissions:@[@"public_profile", @"user_friends"]     
                    allowLoginUI:NO 
                    completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {}];

但是,我想确保会话实际上更改为FBSessionStateOpen(现在它保持为FBSessionStateCreateOpen),但我的其余代码在会话更改之前执行。

在进入功能的其余部分之前,如何确保登录过程完成并更新活动会话?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以在completionHandler中添加其余功能。

例如:

completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
    if (FB_ISSESSIONSTATEOPEN(status)) {
        // your code..
    }
}

答案 1 :(得分:0)

事实证明我只需要使用FBLoginView委派方法来检查它何时从Facebook获取用户的信息。

这就是我需要的:

- (void)loginViewFetchedUserInfo:user: