Операция не может быть завершена. (ошибка com.facebook.sdk 2.) ios6
Привет, я пользуюсь ios6 для входа в facebook, и я получаю эту ошибку как собственное всплывающее окно
Операция не может быть завершена. (ошибка com.facebook.sdk 2.)
Это используемый сценарий. (Я запускаю это на simularor)
Я зарегистрировался в приложении facebook через настройки, и я попытался войти в свое приложение и его работу.
Затем я вышел из фейсбука из настроек и снова вошел в систему с другим пользователем. Затем я попытался войти в приложение. Я получаю эту ошибку.
Я попытался выйти из приложения с помощью команды
[FBSession.activeSession closeAndClearTokenInformation];
Но бесполезно.
Идентификатор пакета в приложении facebook такой же, как в моем приложении ios.
это код, который я использовал для входа в систему
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
Любая помощь приветствуется.
Это ошибка, которую я получаю
Домен = com.facebook.sdk Код = 2 "Операция не может быть завершена. (ошибка com.facebook.sdk 2.)" UserInfo = 0x9535330 {Com.facebook.sdk: ErrorLoginFailedReason = com.facebook.sdk: SystemLoginDisallowedWithoutError, com.facebook.sdk: ErrorSessionKey =, expirationDate: (null), refreshDate: (null), попыткаRefreshDate: 0001-12-30 00:00:00 +0000, разрешения: (null) > }
Примечание
Я получил ту же ошибку в другом случае. В то время это было ошибкой в моем коде
Вместо предоставления разрешения
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",@"birthday", nil];
i ошибочно делал это как
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email,birthday", nil];
РЕШЕНИЕ
Даже после исправления кода я получал ту же ошибку. Мне нужно выйти и войти в facebook с экрана настроек ios. Как только я это сделал, правильный код никогда не вызывал никаких проблем. Обратите внимание, что проблема возникла только на устройстве, которое ранее выполняло багги-код. Заметьте, что вызвало проблему,
Надеюсь, эта информация поможет кому-то.
Ответы
Ответ 1
Это сработало для меня:
- Перейдите в приложение настроек вашего iPhone.
- Откройте настройки Facebook.
- Прокрутите вниз до своего приложения и убедитесь, что ваше приложение позволяет facebook
взаимодействие.
Это может произойти на любом устройстве, поэтому в вашем приложении вам нужно будет правильно обработать эту ошибку.
Я считаю, что вы даете пользователям отзыв о том, почему Login With Facebook не удалось и попросите пользователя проверить свои настройки Facebook на своем устройстве.
- (void)facebookSessionStateChanged:(FBSession *)session state:(FBSessionState)state error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
// handle successful login here
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
if (error) {
// handle error here, for example by showing an alert to the user
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Could not login with Facebook"
message:@"Facebook login failed. Please check your Facebook settings on your phone."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
break;
default:
break;
}
Ответ 2
проверьте свой идентификатор Bundle для своего проекта, и вы дадите идентификатор Bundle для своего приложения, которые создают на developer.facebook.com, что они такие же или нет.
Ответ 3
Другая потенциальная причина этой ошибки: попытка получить разрешение для приложения Facebook в режиме песочницы, когда пользователь Facebook не указан в админах приложений, разработчиках или тестировщиках.
Ответ 4
Я решаю свою проблему, передавая разрешение nil во время входа в систему.
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
Ответ 5
У меня была аналогичная проблема. ошибка возникает, когда я переключил пользователя fb из настройки. Ошибка авторизации Facebook на iOS6 при переключении учетной записи FB на устройстве Это решило мою проблему
Ответ 6
У меня была такая же проблема, и я потратил целый день на выяснение проблемы. Это сообщение об ошибке с помощью SDK для Facebook очень расплывчато. У меня возникла эта проблема из-за того, что метод openURL: перезаписывается в MyApplication. Я удалил перезаписанный метод, и логин facebook работал нормально.
Ответ 7
Для меня проблема заключалась в недопустимых разрешениях - я запрашивал "день рождения" вместо "user_birthday". Стыдно, что сообщение об ошибке, по крайней мере, минимально описательно, просто сказал, что "права недействительны", а не ERROR CODE 2, уберегли бы меня столько времени.