Поэтому я использую NSUserDefaults
для хранения моих FBAccessTokenKey
и FBExpirationDateKey
. Я создаю одноэлементный объект User:
- (id)init
{
self = [super init];
if (self != nil) {
facebook = [[Facebook alloc] initWithAppId:kAppId andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"] ) {
NSLog(@"ACCESS KEY IS NOT EMPTY");
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
} else {
NSLog(@"ACCESS KEY IS EMPTY");
}
}
return self;
}
Я также реализовал метод didLogout, который вызывается при выходе из системы:
- (void)fbDidLogout {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"FBAccessTokenKey"];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"FBExpirationDateKey"];
}
Это в основном очищает / сбрасывает ключ токена.
Теперь реальная проблема заключается в том, что, когда я нажимаю на кнопку «Выйти», закрываю приложение, а затем снова запускаю приложение, оно обнаруживает, что ключ FBAccessTokenKey
и FBExpirationDateKey
все еще там. Почему это?