Facebook iOS 3.1 SDK:可以使用Safari登录,但不能本机登录

时间:2012-11-14 21:39:21

标签: ios facebook-ios-sdk

我正在整合iOS 3.1 Facebook SDK。使用Facebook功能登录时,我会调用FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:。在模拟器上调用时(我没有在本地设置FB帐户)我可以成功登录。

但是,从具有本机Facebook帐户设置的设备调用openActiveSessionWithReadPermissions...时,完成处理程序中返回的会话类型始终为sessionStateClosedLoginFailed,无论我是允许还是禁止我的应用使用Facebook在警报对话框中。调用方法之前的会话状态为sessionStateCreated

这是完成处理程序中的NSErrorError 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> “允许这些应用使用您的帐户”部分。(今天早些时候肯定存在)。

Update2 :如果我从iOS设置应用程序中删除我的帐户,然后将我的测试用户登录到Facebook iPhone应用程序,我可以通过快速应用程序切换登录。所以它似乎只是本机帐户的问题。

Update3 :我运行样本Facebook应用程序极度我有同样的问题。点击“登录”后,调用openActiveSessionWithRead...我收到同样的错误。

Update4 :可能与此错误有关? http://developers.facebook.com/bugs/450137751688028?browse=search_50a43a39b37ae4868318658

Update5 :我之前应该提到这一点,但它是一个Facebook测试用户帐户,但是有这个问题。

2 个答案:

答案 0 :(得分:3)

我从使用Facebook测试用户帐户切换到普通帐户,这解决了美味应用程序和我的应用程序的问题。

答案 1 :(得分:0)

您是否在plist中设置了FacebookAppID?请参阅Getting Started with the Facebook SDK第5部分中的“添加您的Facebook App ID”。此外,请检查设备设置的“Facebook”部分,以确保您的应用未被授权(在这种情况下,除非您手动执行,否则不会授权)。