2013-07-11 63 views
0

我正在使用适用于iOS的最新Facebook SDK。Facebook SDK登录代理

我在我的“登录”屏幕上有一个FBLoginView,但似乎只有一个FBLoginViewDelegate。我可以不像我曾经能够设置FBSession的代表吗?

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

回答

1

把这段代码注销手动

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:. 
} 
+0

嗨你检查了我的答案 –

0

斯威夫特3 IOS 10!

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { 

    return SDKApplicationDelegate.shared.application(app, open: url, options: options) 

}