使用Facebook ios SDK在应用程序中注销Facebook
我已经在我的应用程序中集成了Facebooklogin,因此用户可以同时login我的应用程序帐户和Facebook,并做相应的actions.For Facebook集成我已经添加Facebook SDK.Now当在我的应用程序中单击注销button它必须清除所有Facebook帐户的凭据。我去了:
-(IBAction)btnlogOutClicked:(id)sender { [appDelegate fbDidlogout]; } -(void)fbDidlogout { FBSession* session = [FBSession activeSession]; [session closeAndClearTokenInformation]; [session close]; [FBSession setActiveSession:nil]; } 但是,当我再次点击button,我直接redirect到我的帐户,而无需loginFacebooklogin页面。
我怎样才能注销Facebook?
使用新的Facebook SDKlogin工具包只写在下面的线,那就是它..
 [[FBSDKLoginManager new] logOut]; 
如果使用swift,请确保具有必要的导入
 import FBSDKLoginKit func logout() { FBSDKLoginManager().logOut() } 
注销你应该试试这个
您可以使用viewDidLoad方法在导航控制器 (右上angular) 上添加注销button
 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(logoutButtonWasPressed:)]; 
上面添加的button的操作方法是
 -(void)logoutButtonWasPressed:(id)sender { [FBSession.activeSession closeAndClearTokenInformation]; } 
希望对你有帮助!
参考
编辑:
当你问为什么它不要求用户名和密码,所以原因是:
当我们在应用中整合Facebook SDK并尝试login时,它会自动检查两个地方(以确保我们已经loginFacebook)
- 
首先它检查我们是否已经login到在这个设备上安装的Facebook Native应用程序。 
- 
那么它会检查我们是否在设备设置中保存了我们的FaceBook用户名和密码。 
如果两个地方我们都没有login,那么它会在应用程序中询问用户名和密码
您可以在设备设置中查看Facebook帐户设置,如下面的屏幕截图所示,
按主页button – >设置 – > Facebook

FBSDK是这样注销的:
  [FBSession.activeSession closeAndClearTokenInformation]; FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; [login logOut]; 
 在你的postButtonClicked写下面的if else: 
 -(void)postButtonClicked { _session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain]; [_session resume]; posting = YES; showSlideShow = 1; if (_facebookName != nil) { [self logoutButtonClicked]; } if (![_session isConnected]) { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } else { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } }