Ios 如何使用facebook SDK在我的应用程序中注销facebook

Ios 如何使用facebook SDK在我的应用程序中注销facebook,ios,objective-c,facebook,Ios,Objective C,Facebook,我已经在我的应用程序中集成了Facebook登录,因此用户可以同时使用我的应用程序帐户和Facebook登录,并执行相应的操作。对于Facebook集成,我添加了Facebook SDK。现在,当在我的应用程序中单击注销按钮时,必须清除Facebook帐户的所有凭据。但当我再次单击该按钮时,我会直接登录到我的帐户,无需进入Facebook登录页面 如何注销Facebook? - (void)viewDidLoad { [super viewDidLoad]; // Do an

我已经在我的应用程序中集成了Facebook登录,因此用户可以同时使用我的应用程序帐户和Facebook登录,并执行相应的操作。对于Facebook集成,我添加了
Facebook SDK
。现在,当在我的应用程序中单击注销按钮时,必须清除Facebook帐户的所有凭据。但当我再次单击该按钮时,我会直接登录到我的帐户,无需进入Facebook登录页面

如何注销Facebook?

- (void)viewDidLoad 
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    [self toggleHiddenState:YES];

    self.fbLoginStates.text = @"";
    self.loginButton.delegate = self;
    self.loginButton.readPermissions = @[@"public_profile", @"email"];
}

-(void)toggleHiddenState:(BOOL)shouldHide    
{
    self.lblUsername.hidden = shouldHide;
    self.lblEmail.hidden = shouldHide;
    self.profilePicture.hidden = shouldHide;
}

#pragma mark - FBLoginView Delegate method implementation

-(void)loginViewShowingLoggedInUser:(FBLoginView *)loginView
{        
    self.fbLoginStates.text = @"You are logged in.";

    [self toggleHiddenState:NO];
}

-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
{        
    NSLog(@"%@", user);

    self.profilePicture.profileID = user.id;
    self.lblUsername.text = user.name;
    self.lblEmail.text = [user objectForKey:@"email"];
}

-(void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView
{
    self.fbLoginStates.text = @"You are logged out";

    [self toggleHiddenState:YES];
}

-(void)loginView:(FBLoginView *)loginView handleError:(NSError *)error
{
    NSLog(@"%@", [error localizedDescription]);
}
-(void)viewDidLoad
{
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
[自切换HiddenState:是];
self.fbLoginStates.text=@;
self.loginButton.delegate=self;
self.loginButton.readPermissions=@[@“public_profile”、@“email”];
}
-(无效)切换HIDDENSTATE:(BOOL)应该隐藏
{
self.lblUsername.hidden=应该隐藏;
self.lblEmail.hidden=应隐藏;
self.profilePicture.hidden=shouldHide;
}
#pragma标记-FBLoginView委托方法实现
-(无效)loginView显示日志用户:(FBLoginView*)loginView
{        
self.fbLoginStates.text=@“您已登录。”;
[自切换HiddenState:否];
}
-(void)loginView蚀刻教育信息:(FBLoginView*)loginView用户:(id)用户
{        
NSLog(@“%@”,用户);
self.profilePicture.profileID=user.id;
self.lblUsername.text=user.name;
self.lblEmail.text=[user objectForKey:@“email”];
}
-(无效)loginView显示LoggeDoutUser:(FBLoginView*)loginView
{
self.fbLoginStates.text=@“您已注销”;
[自切换HiddenState:是];
}
-(无效)loginView:(FBLoginView*)loginView句柄错误:(N错误*)错误
{
NSLog(@“%@,[错误本地化描述]);
}
在AppDelegate.m中

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
return [[FBSDKApplicationDelegate sharedInstance] application:application
                                    didFinishLaunchingWithOptions:launchOptions];
在登录屏幕中.m:-

- (void)FacebookLogin:(id)sender {
//    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getFacebookData) name:@"getFacebookData" object:nil];
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login
     logInWithReadPermissions: @[@"public_profile", @"email", @"user_friends"]
     handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
         if (error) {
             NSLog(@"Process error");
         } else if (result.isCancelled) {
             NSLog(@"Cancelled");
         } else {
             NSLog(@"Logged in");
             [MBProgressHUD showHUDAddedTo:self.view animated:YES];
              FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                                           initWithGraphPath:@"/me"
                                           parameters:@{ @"fields": @" email",}
                                           HTTPMethod:@"GET"];
             [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                 // Insert your code here
                 NSLog(@"%@",result);              
              [MBProgressHUD hideHUDForView:self.view animated:YES];
              } failedBlock:^{
              [MBProgressHUD hideHUDForView:self.view animated:YES];
                  UIAlertController * alert=   [UIAlertController alertControllerWithTitle:APP_NAME message:@"Could not connect to the server." preferredStyle:UIAlertControllerStyleAlert];
                  UIAlertAction* okButton = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action)
                                             {
                                                 //Handel your yes please button action here
                                                 [alert dismissViewControllerAnimated:YES completion:nil];

                                             }];
                  [alert addAction:okButton];
                  [self presentViewController:alert animated:YES completion:nil];
              }];

             }];

         }
     }];
}
在注销屏幕中。m:-

 -(IBAction)Logout:(id)sender
{
       [[FBSDKLoginManager new] logOut];    
}

你好,瓦伦·纳哈里亚。谢谢你的答复。我正在尝试FBSDKLoginManager方法。但我遇到了错误。什么错误,请在问题中添加该错误?错误显示为“使用未声明的标识符FBSDKLoginManager”。事实上,我不能导入FBSDKLoginManager.h类,也不能向我发送任何facebook集成的完整代码。我需要登录和注销功能你这是什么意思?