Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FBSDKProfile currentProfile is nil but FBSDKAccessToken currentAccessToken has value

Just like what the title says, is this a bug or is it really possible? I use the [FBSDKAccessToken currentAccessToken].tokenString to check whether an existing Facebook session is existing, then afterwards I'll use the [FBSDKProfile currentProfile].userID to get the session's userId. However sometimes I encounter that [FBSDKAccessToken currentAccessToken].tokenString has a value but [FBSDKProfile currentProfile] is nil.

I use this for the auto-login feature of my application.

Thanks for your response!

So I have this code snippet:

    if ([FBSDKAccessToken currentAccessToken].tokenString){
//proceed to auto login since Facebook is still logged in
        NSLog(@"Facebook user id: %@",[FBSDKProfile currentProfile].userID)
    }

The return of that log is nil.

like image 658
Vikkowapo Avatar asked Jul 21 '15 12:07

Vikkowapo


1 Answers

if ([FBSDKAccessToken currentAccessToken].tokenString) {
    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES];
    NSLog(@"Facebook user id: %@",[FBSDKProfile currentProfile].userID);
}

you need to call [FBSDKProfile enableUpdatesOnAccessTokenChange:YES] so that it automatically observes changes to the [FBSDKAccessToken currentAccessToken]

like image 54
Shivi Avatar answered Sep 24 '22 22:09

Shivi