2013-08-20 3 views
6

Ich verwende Facebooks iOS SDK 3.7 in meiner iOS-App, um Anmeldungen zu bearbeiten. Wenn ich Post-Berechtigungen anfordere, sieht es so aus, als ob das Ablaufdatum ungefähr 2 Monate nach dem Login-Datum liegt.Umgang mit abgelaufenen Facebook-Zugriffstoken auf iOS und FB SDK 3.7

Ich verstehe, dass ich das Ablaufdatum mit [FBSession activeSession].accessTokenData.expirationDate überprüfen kann, aber was passiert, und wie gehe ich mit dem Token um, wenn das Token abläuft?

Leite ich noch einmal [FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:];?

+1

Die schnelle Antwort ist, mach dir keine Sorgen, das SDK kümmert sich darum, deine Token für dich zu erneuern. –

Antwort

0

Ich mache dies und FB erstellt die Sitzung automatisch neu. Wenn der FB die Nutzungsbedingungen oder etwas anderes geändert hat, wird dem Benutzer ein Anmeldedialog angezeigt.

// call this before any calls to FB api 
- (void)openSession 
{ 
if(FBSession.activeSession.state != FBSessionStateOpen) 
{ 

    [FBSession openActiveSessionWithPublishPermissions:@[FB_PUBLISH_ACTIONS_PREMISSION] 
             defaultAudience:FBSessionDefaultAudienceFriends 
              allowLoginUI:NO 
            completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
        if(!error && session.isOpen) 
        { 
        } 
        else 
        { 
         _lastError = error; 
         // handle the error 
        } 
         // here, you can handle the session state changes in switch case or 
         //something else 
        [self session:session 
        hasChangedState:status 
         withError:error]; 

       }]; 
     } 
}