Я использую Facebook SDK 3.1.1 для реализации FB Connect в моем приложении iOS. Это отлично работает в простом случае либо с новой интеграцией FB (вход в систему на iOS), либо с возвратом к обычной авторизации через веб-просмотр (у меня нет собственного приложения Facebook, установленного в обоих случаях). Проблема возникает, когда я переключаю учетную запись на уровень iOS. Выход из системы и вход в систему с другой учетной записью пользователя FB.
Для входа / авторизации выполняю:
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
Если затем каждый раз получать FBSessionStateClosedLoginFailed, даже если я выполняю closeAndClearTokenInformation
, когда это состояние достигается:
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error
{
NSLog(@"Session State Changed: %u", [[FBSession activeSession] state]);
switch (state) {
case FBSessionStateOpen:
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
NSLog(@"FBSessionStateClosedLoginFailed ERROR: %@", [error description]);
[[FBSession activeSession] closeAndClearTokenInformation];
break;
default:
break;
}
Однако я получаю одно и то же состояние при каждой повторной попытке. В моем журнале написано следующее:
FBSDKLog: FBSession **INVALID** transition from FBSessionStateCreated to FBSessionStateClosed
FBSDKLog: FBSession transition from FBSessionStateCreated to FBSessionStateCreatedOpening
FBSDKLog: FBSession transition from FBSessionStateCreatedOpening to FBSessionStateClosedLoginFailed Session State Changed: 257
FBSessionStateClosedLoginFailed TOKEN: (null)
FBSessionStateClosedLoginFailed ERROR: Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0xb24cc20 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason}
Может ли кто-нибудь воспроизвести это или имеет какое-либо представление, в чем может заключаться проблема?
[FBSettings setLoggingBehavior:[NSSet setWithObjects:FBLoggingBehaviorFBRequests, FBLoggingBehaviorFBURLConnections, FBLoggingBehaviorAccessTokens, FBLoggingBehaviorSessionStateTransitions, nil]];
- person Kathrin Holweger   schedule 12.10.2012