[英]Facebook iOS SDK Logout
我正在使用官方和更新的Facebook iOS SDK 。
我們正在iPad上開發一個應用程序,該應用程序使用內部分發配置文件在實體店中使用。 客戶可以在公開的iPad上登錄他們的Facebook帳戶,以改善他們的購物體驗。
我遇到的問題是,當用戶登錄他們的Facebook帳戶時,下一個用戶(客戶)仍將使用之前用戶的憑據登錄( You have already authorized xxx, Press "Okay" to continue
)。 當然這不行。
有沒有辦法實際注銷(注銷,清除憑據或什么)前一個(或當前)用戶,以便下一個用戶可以填寫自己的用戶名和密碼。
不幸的是[[FBSession activeSession] closeAndClearTokenInformation]
並不是很有效。
到目前為止,這是代碼的一部分:
// ....
[[FBSession activeSession] closeAndClearTokenInformation];
[FBSession.activeSession openWithCompletionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
// More code ...
}];
// ...
PS。 cookie'workaround'對我不起作用 (顯然)
從您的上下文來看,我假設您的設備沒有安裝Facebook應用程序,您也不希望使用iOS 6系統身份驗證,這會使默認登錄行為使用Safari。 如果您要清除Safari cookie,這應該有效,但為了在您的場景中獲得更流暢的體驗,您應該使用FBSession openWithBehavior:completionHandler:
方法並指定FBSessionLoginBehaviorForcingWebview
的行為,以便它使用內聯webview對話框進行身份驗證。
請參閱Facebook iOS SDK中的SwitchUserSample作為示例,因為該示例演示了可以在多個帳戶之間切換的應用程序。
嘗試使用此代碼。 我認為它會對你有所幫助。
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
如果您使用的是facebook sdk 4.1.0,請調用bellow方法
if ([FBSDKAccessToken currentAccessToken]) {
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.