Upvote:13

Aprove answer
if (FBSession.activeSession.isOpen)
{
    // post to wall
} else {
    // try to open session with existing valid token
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"user_likes", 
                            @"read_stream",
                            @"publish_actions",
                            nil];
    FBSession *session = [[FBSession alloc] initWithPermissions:permissions];
    [FBSession setActiveSession:session];
    if([FBSession openActiveSessionWithAllowLoginUI:NO]) {
        // post to wall
    } else {
        // you need to log the user
    }
}

Upvote:9

if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded)
{

}

More Answer related to the Same Query

Upvote:2

- (BOOL)isSessionOpen
{
    return FBSession.activeSession.state == FBSessionStateOpen || FBSession.activeSession.state == FBSessionStateOpenTokenExtended;
}

Upvote:0

    if ([FBSDKAccessToken currentAccessToken]) 
{
   NSLog(@"Already login");
    //[FBSession openActiveSessionWithAllowLoginUI: YES];
}

Credit Goes to: stackoverflow.com

Related question with same questions but different answers