iOS上的com.facebook.sdk错误2

时间:2013-01-04 15:26:54

标签: ios facebook cordova phonegap-plugins facebook-ios-sdk

我有一个可在iOS和Android上运行的Phonegap应用。该应用程序具有Facebook登录功能,直到几天前一直工作。我们的一些beta测试人员报告了“无法完成com.facebook.sdk错误2的操作”错误。这些测试仪的设备各不相同:iPhone 5,iPhone 4s,iPod Touch,iOS 5.1.1和iOS 6.0。

我们使用最新的Facebook SDK和Phonegap Facebook登录插件(https://github.com/davejohnson/phonegap-plugin-facebook-connect/)。

我做了一些研究,发现了以下可能导致此错误的原因:

  • 我的info.plist文件中的BundleIdentifier和BundleURLName与我的Facebook应用程序设置中的Native iOS应用程序下的Bundle ID不匹配。
  • 该应用仍处于沙盒模式
  • 该应用已在Facebook设置中禁用(设备设置 - > Facebook - >允许这些应用使用您的帐户)。
  • iOS 6.0不允许同时询问读写权限(不确定我是否拥有此权限)。

以下是这种情况:

这是一个非常不一致的错误(在我的情况下)。如果我在“允许这些应用程序使用您的帐户”中关闭应用程序(在我的情况下应用程序列在那里),我自己只能重现错误,但我可以通过再次允许应用程序轻松修复错误。目前大多数测试人员都没有这个错误(不再有),但错误仍然存​​在于iPod上(该应用程序未在“允许这些应用程序使用您的帐户”中列出)。

有谁知道我为什么会遇到这个错误?

9 个答案:

答案 0 :(得分:17)

原来:com.facebook.sdk错误2可以转化为很多东西。我正在寻找某种Facebook SDK错误转换表,但我找不到一个。就我而言: com.facebook.sdk错误2发生,因为连接超时。收到此错误的用户网络/ WiFi连接不良

我们实施了一个错误记录系统,每次登录Facebook时都会记录错误详细信息。在那些日志中,我们可以看到com.facebook.sdk错误2发生了很多,但每次用户尝试在几秒钟后再次登录时它就会得到解决。

这可能是由于我无法找到正确的文档,但我对这些SDK错误的含糊不清感到非常沮丧。有很多关于权限请求的文档(可能导致com.facebook.sdk错误2),但显然这个错误可能是由更多的事情引起的。很高兴看到这也记录在某处。

答案 1 :(得分:6)

这发生在我正在使用的应用中。我可以通过转到我的iPhone设置,选择Facebook,点击我的名字,然后点击“删除帐户”来解决这个问题。

之后我能够毫无问题地使用该应用登录。

我回到了设置| facebook并重新提交我的凭据。

该应用程序仍然正常。

答案 2 :(得分:5)

当我忘记查看原生iOS应用程序(在Facebook开发者页面中)并输入我的Bundle ID时,我遇到了这个错误,这与Xcode项目中的Bundle标识符相同。 (最后包括你的项目名称。)我还在Facebook Developers页面中设置了启用SandBox模式的设置。我也禁用了Sandbox模式来完成这项工作。

答案 3 :(得分:4)

我在很长一段时间内弄清楚了这个错误的原因,因为我使用旧的iOS 5.0来获得更大的设备覆盖率。我刚通过facebook请求调试收到错误400。最后,我发现原因在于 FBSessionDefaultAudience FBSession (在6.0+测试,本机facebook api给出了错误原因)。当我用

+ (BOOL)openActiveSessionWithPublishPermissions:(NSArray*)publishPermissions
                                defaultAudience:(FBSessionDefaultAudience)defaultAudience
                                   allowLoginUI:(BOOL)allowLoginUI
                              completionHandler:(FBSessionStateHandler)handler;

这个错误最终消失了。

答案 4 :(得分:1)

首先尝试:

Go to Settings app -> Facebook -> Your App -> Switch it off and back on again.

这对我有用,并没有要求我实际删除fb帐户并重新登录@ seans23建议。如果它没有奏效,我会尝试下一步,但这显然在重置国家方面有所作为。

答案 5 :(得分:1)

这种方法对我有用。 (iOS 8)

背景信息:

  • FB“登录”按钮未在Safari
  • 中打开FB应用程序或FB
  • 弹出FB SDK错误。 2。
  • “我的应用程序”未在FB设置中显示,以便启用。

解决方案:

  • 清除Safari Web缓存(可能是可选的)
  • 删除Facebook应用
  • 删除Facebook Messenger
  • 安装您的应用并登录

我们的想法是删除两者 Facebook App和Messenger。

答案 6 :(得分:1)

对我来说,原因是我在模拟器上测试我的应用程序。我想分享一张照片而对话框没有出现,所以我插上了我的iPhone,之后一切顺利!

答案 7 :(得分:0)

我们遇到了同样的问题。事实证明,FB方面的原因确实处于超时状态,特别是如果在“FB登录”页面仍然打开时发生此超时,并且用户单击“取消”。在这种情况下,错误2总是被重新调整。因此,如果您想重复并测试这种情况,只需在FB上连接时单击“取消”按钮。

答案 8 :(得分:0)

在我的情况下,我使用我的公司帐户创建了应用程序,忘了添加我的个人资料和开发人员角色。在我发现一切顺利之后。

干杯。