Aar*_*hya 44 iphone facebook ios xcode4.5
我已经在我的应用程序中集成了Facebook登录,因此用户可以使用我的应用程序帐户和Facebook登录并执行相应的操作.对于Facebook集成,我添加了Facebook SDK.现在,当我的应用程序中单击"注销"按钮时,它必须清除所有Facebook帐户的凭据.我已经去了:
-(IBAction)btnlogOutClicked:(id)sender
{
[appDelegate fbDidlogout];
}
-(void)fbDidlogout
{
FBSession* session = [FBSession activeSession];
[session closeAndClearTokenInformation];
[session close];
[FBSession setActiveSession:nil];
}
Run Code Online (Sandbox Code Playgroud)
但是,当我再次点击按钮时,我会直接重定向到我的帐户而无需进入Facebook登录页面.
我该如何退出Facebook?
iHu*_*ulk 83
使用新的Facebook SDK登录工具包只需在下面写一行就可以了.
[[FBSDKLoginManager new] logOut];
Run Code Online (Sandbox Code Playgroud)
如果使用swift,请确保具有必要的导入
import FBSDKLoginKit
func logout() {
FBSDKLoginManager().logOut()
}
Run Code Online (Sandbox Code Playgroud)
swi*_*Boy 20
要注销,你应该试试这个
您可以在viewDidLoad方法中的导航控制器(右上角)上添加"注销"按钮
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Logout"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(logoutButtonWasPressed:)];
Run Code Online (Sandbox Code Playgroud)
上面添加按钮的动作方法是
-(void)logoutButtonWasPressed:(id)sender {
[FBSession.activeSession closeAndClearTokenInformation];
}
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助!
编辑:
当你问为什么它不要求UserName和Password时,原因是:
当我们在我们的应用程序中集成Facebook SDK并尝试登录时,它会自动检查两个位置(以确保我们已经登录Facebook)
首先它检查我们是否已经登录到此设备上安装的Facebook Native应用程序.
然后它检查我们是否在设备设置中保存了FaceBook用户名和密码.
如果两个地方我们都没有登录,那么它将在应用程序中询问UserName和Password
您可以在设备设置中查看Facebook帐户设置,如下面的屏幕截图所示,
按主页按钮 - >设置 - > Facebook

FBSDK正在这样注销:
[FBSession.activeSession closeAndClearTokenInformation];
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
Run Code Online (Sandbox Code Playgroud)
在你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];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33991 次 |
| 最近记录: |