我正在集成 iOS 3.1 Facebook SDK。在使用 Facebook 功能实现登录时,我调用FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:
. 在模拟器上调用时(我没有本地设置 FB 帐户),我可以成功登录。
但是,从具有本机 Facebook 帐户设置的设备,当调用openActiveSessionWithReadPermissions...
完成处理程序中返回的会话类型时,始终sessionStateClosedLoginFailed
为 ,无论我是否允许或禁止我的应用程序在警报对话框中使用 Facebook。调用该方法之前的会话状态是sessionStateCreated
.
这是NSError
来自完成处理程序:
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x20a80820 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x208ed930 {NSDebugDescription=No value.}}
我做错了什么会导致这个问题?
更新:我刚刚注意到我的应用程序没有出现在“设置”>“Facebook”>“允许这些应用程序使用您的帐户”部分中。(今天早些时候肯定有)。
更新 2:如果我从 iOS 设置应用程序中删除我的帐户,然后将我的测试用户登录到 Facebook iPhone 应用程序,我可以通过快速应用程序切换登录。因此,这似乎只是本机帐户的问题。
Update3:我运行了示例 Facebook 应用程序 Scrumptious 我有同样的问题。单击“登录”后,openActiveSessionWithRead...
我得到了同样的错误。
Update4:可能与此错误有关?http://developers.facebook.com/bugs/450137751688028?browse=search_50a43a39b37ae4868318658
更新 5:我应该在前面提到过,但它是一个 Facebook 测试用户帐户有这个问题。