Check Facebook Connect Session on IOS

前端 未结 2 988
小蘑菇
小蘑菇 2021-02-06 12:50

With the new Facebook library, FBSession object is disappeared. How can i check if user has a valid session on his device immediately when he start the app without prompt to saf

2条回答
  •  臣服心动
    2021-02-06 13:42

    After a successful login, you want to save the access token and expiration date, like this:

    [[NSUserDefaults standardUserDefaults] setObject:_facebook.accessToken forKey:@"AccessToken"];
    [[NSUserDefaults standardUserDefaults] setObject:_facebook.expirationDate forKey:@"ExpirationDate"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    

    Then, when you load the app, you want to check if there is a saved token, like this:

    _facebook = [[Facebook alloc] initWithAppId:@"[app_id]"];
    _facebook.accessToken    = [[NSUserDefaults standardUserDefaults] stringForKey:@"AccessToken"];
    _facebook.expirationDate = (NSDate *) [[NSUserDefaults standardUserDefaults] objectForKey:@"ExpirationDate"];
    if (![_facebook isSessionValid]) {
        [_facebook authorize:_permissions delegate:self];
    }
    else {
        [_facebook requestWithGraphPath:@"me" andDelegate:self];
    }
    

    Hope this helps!

提交回复
热议问题