Ios 如何为Facebook graph API实现注销功能

Ios 如何为Facebook graph API实现注销功能,ios,facebook-graph-api,facebook-ios-sdk,logout,Ios,Facebook Graph Api,Facebook Ios Sdk,Logout,我在我的iPhone应用程序中实现了Facebook Graph API,并成功地将其张贴在墙上。但每次我结束应用程序并返回时,它都会存储我的凭据(在Safari中,我猜是作为cookie)。它请求我以我以前的凭据进行许可。但在这一点上,我希望我的Facebook API应该提示输入新的用户名和密码登录以请求权限。简单地说,当我在应用程序中选择一个按钮时,我想注销我的Facebook。你最初是如何登录Facebook的?如果您使用的是facebook iOS SDK,您基本上只需调用[faceb

我在我的iPhone应用程序中实现了Facebook Graph API,并成功地将其张贴在墙上。但每次我结束应用程序并返回时,它都会存储我的凭据(在Safari中,我猜是作为cookie)。它请求我以我以前的凭据进行许可。但在这一点上,我希望我的Facebook API应该提示输入新的用户名和密码登录以请求权限。简单地说,当我在应用程序中选择一个按钮时,我想注销我的Facebook。

你最初是如何登录Facebook的?如果您使用的是facebook iOS SDK,您基本上只需调用
[facebook注销:self]。否则,如果您自己实现Graph API,您只需清除cookie并删除访问令牌。

当您在该方法的最后一行调用facebook按钮时,您将写入此方法[facebook注销]

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        for (NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
        {
            [cookies deleteCookie:cookie];
        }
这些代码足以实现注销功能


它在我的应用程序上运行得非常好。

您可以查看以下问题:我可以成功地从应用程序注销。但是safari记得我。所以我想从我的应用程序和safari中完全注销。我该怎么做?@Burak他们有不同的饼干。您不能从应用程序注销,也不能从应用程序注销safari。好的,那么我如何使用其他用户登录?与您以前登录的方式相同。
fbGraph.accessToken = nil;
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
    NSString *domainName = [cookie domain];
    NSRange domainRange = [domainName rangeOfString:@"facebook"];
    if(domainRange.length > 0)
    {
        [storage deleteCookie:cookie];
    }
}