У меня есть приложение Phonegap, которое работает как на iOS, так и на Android. Приложение имеет функцию входа в систему Facebook, которая работала до нескольких дней назад. Некоторые из наших бета-тестеров сообщили, что "Операция не может быть завершена ошибкой com.facebook.sdk error 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/).
Я провел некоторое исследование и нашел следующие причины, почему эта ошибка может произойти:
- BundleIdentifier и BundleURLName в моем файле info.plist не соответствуют идентификатору Bundle в приложении Native iOS в настройках моего приложения для Facebook.
- Приложение все еще находится в режиме Sandbox.
- Приложение отключено в настройках Facebook (настройки устройства → Facebook → Разрешить этим приложениям использовать вашу учетную запись).
- iOS 6.0 не позволяет запрашивать разрешения на чтение и запись в одно и то же время (не уверен, что у меня есть это право).
В следующем случае:
- Соответствие BundleIdentifier и BundleURLName.
- Приложение не находится в режиме Sandbox.
- Приложение не отображается в разделе "Разрешить этим приложениям использовать вашу учетную запись" для каждого пользователя
- Разработчики плагина Phonegap заявили, что исправили ошибку разрешений iOS 6.0 (https://github.com/davejohnson/phonegap-plugin-facebook-connect/pull/216)
Это очень непоследовательная ошибка (в моем случае). Я могу только воспроизвести ошибку самостоятельно, если отключить приложение в "Разрешить эти приложения для использования вашей учетной записи" (в моем случае приложение указано там), но я могу легко исправить ошибку, разрешив приложение снова. На данный момент большинство тестировщиков не имеют этой ошибки (больше), но ошибка остается на iPod (там, где приложение не указано в "Разрешить эти приложения для использования вашей учетной записи" ).
Кто-нибудь знает, почему у меня эта ошибка?