Facebook Authorize не работает под IOS 4.01 - PullRequest
0 голосов
/ 23 ноября 2011

Я использую [facebook authorize:permissions] из официального API IOS Facebook для подключения к Facebook с помощью единого входа.

Мой код работает нормально, если на устройстве не установлено приложение Facebook (авторизация Safari). Он также отлично работает на устройстве под управлением IOS5 с установленным приложением Facebook (авторизация приложения Facebook).

Однако на устройстве под управлением IOS 4.01 (которое я продолжаю тестировать мои приложения), если приложение Facebook установлено, запрос authorize запускает приложение Facebook, но когда он возвращается, я получаю следующий ответ в application: HandleOpenURL:

fb[MY_APP_ID]://authorize#error=unknown%5Ferror

Что приводит к вызову fbDidNotLogin: и отказу моего приложения.

Удаление и переустановка приложения Facebook и / или моего собственного приложения не помогает. Выход из Facebook за пределами моего приложения также невозможен: в этом случае приложение Facebook отображает экран входа в систему, но затем возвращает ту же ошибку.

Если приложение Facebook не установлено на этом устройстве и Safari используется для авторизации, все работает нормально.

Я читал в другом месте, что эта ошибка может быть вызвана неправильным определением моего идентификатора пакета, но (1) все определено правильно во всех местах (мой info.plist, Facebook и iTunes Connect) и (2) все работает в других конфигурациях.

Есть ли что-то, что не поддерживается в IOS 4.01, которое вызывает такое поведение, или я делаю что-то не так? (На самом деле, я пока ничего не делаю, я просто размещаю запрос на авторизацию и реализую методы делегата).

1 Ответ

0 голосов
/ 28 февраля 2012

Чтобы исправить это поведение, вы должны явно запретить авторизацию facebook с приложением facebook. Код по умолчанию имеет следующую строку кода -

[self authorizeWithFBAppAuth: YES safariAuth: YES];

Чтобы запретить авторизацию с помощью приложения Facebook и заставить авторизацию только с сафари, измените ее на -

[self authorizeWithFBAppAuth: NO safariAuth: YES].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...