У меня есть следующий код, который я использую во время входа в facebook.FaceBook SDK3.5 closeAndClearTokenInformation вызывает обработчик завершения openActiveSessionWithReadPermissions
- (BOOL)openFBSessionWithAllowLoginUI:(BOOL)allowLoginUI
withCompletionHandler:(void (^)())completionHandler
{
NSArray *permissions = [NSArray arrayWithObjects:
@"user_photos",
@"email",
nil];
return [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
if (error != nil) {
...
} else {
switch (state) {
case FBSessionStateOpen:
{
...
}
case FBSessionStateClosed:
{
...
}
case FBSessionStateClosedLoginFailed:
{
...
}
default:
break;
}
}
}];
}
Вышеупомянутые работы отлично подходят для входа. Но, когда я вхожу, используя следующий код
[FBSession.activeSession closeAndClearTokenInformation];
это снова вызывает completionHandler из openActiveSessionWithReadPermissions: разрешений allowLoginUI :. Это не имеет смысла для меня. Я не думаю, что это правильное поведение. Кто-нибудь видел эту проблему? Как мы выходим из системы? Я использую SDK 3.5 на iOS6.
Что такое 'state' значение, когда обработчик завершения является вызывается '[FBSession.activeSession closeAndClearTokenInformation];' – Geek
Значение 'state' -' FBSessionStateOpen', когда я вызываю '[FBSession.activeSession closeAndClearTokenInformation]' –
Пробовал ли вы сначала вызвать метод 'close'' FBSession', а затем метод clearToken? Если эта же проблема сохраняется, тогда вам нужно посмотреть больше кода. Возможно, ваша ошибка программирования. – Geek