0

我的应用程序只能在用户登录 facebook 的第一次运行期间发送应用程序请求。重新启动应用程序后,应用程序请求将停止,因为 FBSession.activeSession.isOpen 给出错误。

虽然 FBSession.activeSession.isOpen 给出了 false ,但应用程序仍然可以执行其他操作,例如发帖、获取好友列表等。只是它不能发送应用程序请求。而且它仍然有一个有效的访问令牌。

有任何想法吗?

4

2 回答 2

2

你说“FBSession.activeSession.isOpen 给出错误”,但是,为了确定:你什么时候运行这个测试?当您对登录请求的调用返回时,或者在异步请求的回调中?

如果它在请求的回调之外完成,它可能会说会话尚未打开。然后,请求正确返回,这意味着对另一个 FB 请求的任何进一步调用都会成功。

这有帮助吗?

如果没有,也许可以对您的代码进行概述。

于 2012-11-21T10:39:59.640 回答
1

好的,在您对上一个答案的评论旁边:

是的,这就是你已经说过的。但是在你的代码中,你在哪里检查 isOpen?要期望一个适当的值,它应该是这样的:

FBSession openActiveSessionWithReadPermissions:_readPerms allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {

        // here is the proper place to check the isOpen boolean, and to go on with your program, including the app request
    }];

// not the proper place to check isOpen.

这有帮助吗?

于 2012-12-03T14:02:23.770 回答