我正在使用最新的iOS版Facebook SDK。

我的“登录”屏幕上有一个FBLoginView,但似乎只有一个FBLoginViewDelegate。我不能像以前那样在FBSession上设置委托吗?

我想实际登录Facebook。不仅FBLoginView更改为显示“注销”,因为每次打开应用程序时都会发生这种情况,即使用户已经登录并且访问令牌有效。

最佳答案

将此代码手动注销

 FBSession* session = [FBSession activeSession];
    [session closeAndClearTokenInformation];
    [session close];
    [FBSession setActiveSession:nil];

    NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray* facebookCookies = [cookies cookiesForURL:[NSURL URLWithString:@"https://facebook.com/"]];

    for (NSHTTPCookie* cookie in facebookCookies) {
        [cookies deleteCookie:cookie];
    }


您还添加以下代码:

- (void)applicationWillTerminate:(UIApplication *)application
{
    [FBSession.activeSession close];
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

10-07 19:43