Я разрабатываю приложение, которое позволяет пользователю входить в систему через Facebook (используя для этого SDK для него). Ошибка появляется, когда пользователь уже зарегистрировался в Facebook в настройках iPhone. Если нет - все работает правильно.
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self fbSessionStateChanged:session state:state error:error];
}];
Я уже пытался установить разрешения как массив nil - ничего не изменилось.
Журнал:
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed.
(com.facebook.sdk error 2.)" UserInfo=0x1552c6c0
{com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginDisallowedWithoutError,
com.facebook.sdk:ErrorSessionKey=<FBSession: 0xabe8100, state: FBSessionStateClosedLoginFailed,
loginHandler: 0x0, appID: APPIDHERE, urlSchemeSuffix: ,
tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x14b8f3d0>,
expirationDate: (null), refreshDate: (null),
attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(null)>}
Иногда появляется ошибка с кодом 7. Я прочитал почти все темы, связанные с этой ошибкой.
Мои шаги:
- Сравните идентификатор моего приложения в файле .plist с идентификатором пакета FB. Они одинаковы!!!
- Мое приложение не находится в режиме песочницы!
- Если я перехожу от
[FBSession openActiveSessionWithReadPermissions:permissions
в[FBSession openActiveSessionWithPermissions:permissions
- он работает. Но он устарел.