【发布时间】:2012-12-19 01:23:49
【问题描述】:
我有一个可以在 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 不允许同时请求读写权限(不确定我是否有这个权限)。
情况如下:
- BundleIdentifier 和 BundleURLName 匹配。
- 应用未处于沙盒模式。
- 该应用未显示在每个用户的“允许这些应用使用您的帐户”中
- Phonegap 插件的构建者据说已修复 iOS 6.0 权限错误 (https://github.com/davejohnson/phonegap-plugin-facebook-connect/pull/216)
这是一个非常不一致的错误(就我而言)。如果我在“允许这些应用程序使用您的帐户”中关闭应用程序(在我的情况下,应用程序在此处列出),我只能自己重现错误,但我可以通过再次允许应用程序轻松修复错误。目前大多数测试人员(不再)没有这个错误,但错误仍然存在于 iPod 上(该应用程序也未在“允许这些应用程序使用您的帐户”中列出)。
有人知道我为什么会遇到这个错误吗?
【问题讨论】:
-
这通常发生在 oAuth 失败的情况下。仅当您请求读取权限或写入权限时才会发生这种情况。我希望你不要同时要求他们两个。它也只会在使用 Facebook 应用程序或 iOS6 本机设置或 m-site 的身份验证时失败。
-
不,我不是同时要求读取和发布权限。我不确定第二个问题。我怎样才能找到这个?
标签: ios facebook cordova phonegap-plugins facebook-ios-sdk