【问题标题】:Can we logout facebook programmatically我们可以以编程方式注销 facebook
【发布时间】:2013-03-28 11:12:06
【问题描述】:

我在我的 iphone 应用程序中使用 facebook sdk-3.1 登录了 facebook。登录后它将进入我的应用程序并且我没有给出任何注销按钮。所以,当我们点击按钮登录 facebook 时,我将获得前一个用户脸书帐户。

为了解决这个问题,我给按钮注销。

如何在单击按钮时以编程方式注销 facebook

我是这样登录的

-(IBAction)Login:(id)sender
{

    appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
     appDelegate.getActionForLoginbtn=@"LoginwithFB";
       [appDelegate openSessionWithAllowLoginUI:YES];
}


-(BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI{


    NSArray *permissions=[[NSArray alloc]initWithObjects:@"email", nil];
    return[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
        [self sessionStateChanged:session state:state error:error];
    }];
}

【问题讨论】:

  • 你存储用户名和令牌吗?
  • 所以,在您的注销按钮的点击事件中,将它们设置为 nil

标签: ios iphone facebook


【解决方案1】:

使用此代码:

if (FBSession.activeSession.isOpen)
{
    [FBSession.activeSession closeAndClearTokenInformation];
}

【讨论】:

  • 您是否将用户名和令牌存储在 nsuserdefults 或任何软件中
【解决方案2】:

斯威夫特版本

import FBSDKLoginKit

FBSDKLoginManager().logOut()

使用 FBSDK 4.4

#import <FBSDKLoginKit/FBSDKLoginManager.h>

然后使用此代码注销。

FBSDKLoginManager *manager = [[FBSDKLoginManager alloc] init];
[manager logOut];

希望这会有所帮助:)

【讨论】:

  • 我看到了函数是如何工作的,但我想我们需要创建实例有点奇怪。为什么他们没有将其实现为静态方法。 setCurrentAccessTokensetCurrentProfile 也是静态的 =)
猜你喜欢
  • 2015-06-19
  • 2015-07-22
  • 2017-03-09
  • 1970-01-01
  • 2012-06-15
  • 2017-01-15
  • 2011-03-07
  • 2012-01-10
  • 2012-01-27
相关资源
最近更新 更多