Ios 如何注销facebook并删除Cookie
我正在使用最新的facebook SDK,成功注销后我需要弹出到根viewcontroller,但当我再次登录时,它实际上并没有从facebook注销。我需要删除cookie或需要执行其他操作。这是我的代码 在Ios 如何注销facebook并删除Cookie,ios,Ios,我正在使用最新的facebook SDK,成功注销后我需要弹出到根viewcontroller,但当我再次登录时,它实际上并没有从facebook注销。我需要删除cookie或需要执行其他操作。这是我的代码 在.m - (void)viewDidLoad { self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWit
.m
- (void)viewDidLoad
{
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Logout"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(logoutButtonWasPressed:)];
[super viewDidLoad];
}
-(void)logoutButtonWasPressed:(id)sender
{
[FBSession.activeSession closeAndClearTokenInformation];
[self.navigationController popViewControllerAnimated:YES];
}
我想你想要的是Facebook的初始流量突然出现并请求许可做一些事情等等 这不是通过注销来实现的
您只能通过登录FaceBook并进入应用程序设置并从中删除权限来完成此操作。如果您想从
UIWebView
删除cookie,您可以尝试以下操作:
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* facebookCookies = [cookies cookiesForURL:
[NSURL URLWithString:@"http://login.facebook.com"]];
for (NSHTTPCookie* cookie in facebookCookies) {
[cookies deleteCookie:cookie];
}
cookie保存在NSUserDefaults
中。您也可以通过清除NSUserDefault
数据来清除cookie
编辑:
如果您想从应用程序中清除safari的cookie,那么以下是答案:
“Mobile Safari的cookie无法从SDK应用程序访问。每个SDK应用程序都有自己的WebKit缓存和cookie存储,因此,虽然cookie将在同一个应用程序中保留,但在应用程序之间无法访问。”您的代码是正确的。您可以使用
closeAndClearTokenInformation
方法注销。如果用户使用Safari登录Facebook,它可能确实会缓存会话。您可以尝试在注销方法中删除cookie:
-(void)logoutButtonWasPressed:(id)sender
{
[FBSession.activeSession closeAndClearTokenInformation];
// Clear the cookies.
for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
[self.navigationController popViewControllerAnimated:YES];
}
是的,我正在使用Facebook弹出窗口并请求权限,请您解释更多信息>您只能通过登录Facebook并进入应用程序设置并从中删除权限来完成此操作。注销应用程序并删除Cookie只能从您的手机中完成此操作。Facebook仍然在他们的服务器上存储权限。我尝试了,但没有任何运气。这不起作用,每次用户注销时我都需要显示登录弹出窗口,但仍然没有任何运气。。