- (BOOL)resume {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
FBUID uid = [[defaults objectForKey:@"FBUserId"] longLongValue];
if (uid) {
NSDate* expirationDate = [defaults objectForKey:@"FBSessionExpires"];
if (!expirationDate || [expirationDate timeIntervalSinceNow] > 0) {
_uid = uid;
_sessionKey = [[defaults stringForKey:@"FBSessionKey"] copy];
_sessionSecret = [[defaults stringForKey:@"FBSessionSecret"] copy];
_expirationDate = [expirationDate retain];
for (id<FBSessionDelegate> delegate in _delegates) {
[delegate session:self didLogin:_uid];
}
return YES;
}
}
return NO;
}
下面是該方法的代碼,我不認爲代碼是試圖與Facebook進行連接測試,他們只是得到過期日期。我認爲有時候,當你註銷Facebook時,會話不會過期,但在服務器端,他們刪除你的會話
這並不回答你的主要問題,但[會話恢復]只做本地檢查以確保您有一個保存的會話密鑰,並且其到期日期尚未通過。它不會對Facebook進行任何實際驗證。 – chrissr