Мы столкнулись с проблемой выхода из системы на Facebook. Когда я захожу на Facebook через приложение, оно запрашивает разрешение пользователя с помощью кнопок «Войти» и «Отмена». Но этот экран появляется только в самый первый раз. т.е. после того, как мы вошли в систему с помощью Safari или приложения и даже если мы вышли из Facebook, на экране приложения, запрашивающем разрешение пользователя, отображается только кнопка «ОК». Это не позволяет войти в систему как другой пользователь. Почему экран с кнопками «Войти» и «Отмена» не отображается при каждом запуске приложения? Я попытался удалить куки и удалить NSUserDefaults, но безуспешно.
Проблема в том, что после выхода из системы я не могу войти в Facebook как другой пользователь. Это все еще показывает как тот же пользователь.
Я вызываю приведенную ниже функцию выхода из системы в SDK
(void)logout:(id<FBSessionDelegate>)delegate {
self.sessionDelegate = delegate;
[_accessToken release];
_accessToken = nil;
[_expirationDate release];
_expirationDate = nil;
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* facebookCookies = [cookies cookiesForURL:
[NSURL URLWithString:@"http://login.facebook.com"]];
for (NSHTTPCookie* cookie in facebookCookies) {
[cookies deleteCookie:cookie];
}
if ([self.sessionDelegate respondsToSelector:@selector(fbDidLogout)]) {
[_sessionDelegate fbDidLogout];
}
}
Также в делегатской функции fbDidLogout я удалил все объекты NSUserDefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]) {
[defaults removeObjectForKey:@"FBAccessTokenKey"];
[defaults removeObjectForKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
regrds
Шихаб