1

当我的应用程序需要例如从用户的 facebook 读取数据时,它会检查活动 FBSession 的当前状态。例如FBSessionStateOpen,它知道它只能从 Facebook 请求信息,而FBSessionStateCreatedTokenLoaded它必须调用openWithCompletionHandler. FBSession如果当前状态是 应该调用什么方法FBSessionStateClosedLoginFailed

4

2 回答 2

1

这意味着登录尝试失败。当我发生这种情况时,我会- closeAndClearTokenInformation提醒用户登录失败并询问他是否想再次登录。

于 2012-12-21T23:53:26.583 回答
0

简而言之:在 Facebook 示例中 https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/

当这种情况发生时,他们的示例代码将调用 loginViewController 或等效项。

这是他们陷入这种情况时的评论。“如果令牌无效,我们想立即切换回登录视图,但是我们会稍微延迟一下,以解决此问题和登录视图之前消失的竞争”

PS 我在解决 Facebook 开放图形设置时修复了这个错误,并在 Scrumptious 示例上进行了更多研究,例如“return [FBSession.activeSession handleOpenURL:url];” 和“[FBSession.activeSession handleDidBecomeActive];”

长篇大论:这取自官方 FB 文档。 http://developers.facebook.com/docs/reference/ios/3.1/class/FBSession#FBSessionState+enum

鉴于这是前提条件,并且它已通过其他枚举状态而不是连接错误:“FBSessionStateClosedLoginFailed 关闭会话状态指示登录尝试失败”

它没有明确说明问题。这可能是缓存的错误信息。就个人而言,最谨慎的是,我会调用'- (void)closeAndClearTokenInformation;",此方法将清理每个缓存信息并向客户端/用户显示错误消息,例如“无效登录,请重试”。

然后,允许客户端选择再次进行全新登录或跳过此过程(如果可能)。

高温高压

于 2012-12-21T22:40:02.630 回答