我有一个可以在 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 上(该应用程序也未在“允许这些应用程序使用您的帐户”中列出)。
有谁知道为什么我有这个错误?