2016-01-20 444 views
0

我正在使用ParseSDKFacebook SDK構建應用程序。我使用ParseFacebookUtils登錄到用戶的帳戶與被像這樣訪問令牌:ParseFacebookUtils登錄問題

- (void)viewDidAppear:(BOOL)animated { 
[super viewDidAppear:YES]; 
if (![FBSDKAccessToken currentAccessToken]) 
{ 
    // User is not logged in 
    [self performSegueWithIdentifier:@"LoginSegue" sender:self]; 
} else 
{ 
    // Have token, log in with it 
    [PFFacebookUtils logInInBackgroundWithAccessToken:[FBSDKAccessToken currentAccessToken] block:^(PFUser *user, NSError *error) { 
     if (!user) 
     { 
      // Error logging in 
      NSLog(@"error"); 
     } else 
     { 
      // Logged in 
      NSLog(@"success!"); 
     } 
    }]; 
} 
} 

這工作,並且用戶已登錄這是自動(第一應用啓動時使用logInInBackgroundWithReadPermissions:代替)。

然而,當我註銷用戶使用

[[FBSDKLoginManager new] logOut]; 

用戶將被註銷(看起來像),但令牌的下一個應用程序啓動時,儘管註銷檢索 - 因此認證用戶再次。

我試圖手動設置currentAccessToken這樣的 - 調用logOut後,但具有相同的結果:

[FBSDKAccessToken setCurrentAccessToken:nil]; 

這是爲什麼?

回答

0
[FBSession.activeSession closeAndClearTokenInformation]; 
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
[login logOut]; 
+0

我使用的SDK版本4所以很遺憾,我沒有'FBSession' – Erik

+0

OK,你可以設置令牌零 '[FBSDKAccessToken setCurrentAccessToken:無]。 [FBSDKProfile setCurrentProfile:nil];' – Sandr

+0

我做過了,查看我的帖子底部 - 它設置爲零,但在下次應用啓動時「恢復」 – Erik