当我的应用程序需要例如从用户的 facebook 读取数据时,它会检查活动 FBSession 的当前状态。例如FBSessionStateOpen
,它知道它只能从 Facebook 请求信息,而FBSessionStateCreatedTokenLoaded
它必须调用openWithCompletionHandler
. FBSession
如果当前状态是 应该调用什么方法FBSessionStateClosedLoginFailed
?
2 回答
这意味着登录尝试失败。当我发生这种情况时,我会- closeAndClearTokenInformation
提醒用户登录失败并询问他是否想再次登录。
简而言之:在 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;",此方法将清理每个缓存信息并向客户端/用户显示错误消息,例如“无效登录,请重试”。
然后,允许客户端选择再次进行全新登录或跳过此过程(如果可能)。
高温高压