在SO here,here,here和其他人看到几乎未命中后,我的应用仍然没有从我的设备中清除之前登录的Facebook用户,以便我可以登录作为一个不同的Facebook用户。
我第一次打电话:
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error)]
Safari打开了Facebook登录页面,其中包含电子邮件和密码字段。在第一次之后,唯一出现的页面是“你已经使用”确定“和”取消“按钮授权[appname]。切换用户没有其他控件。即使我删除了应用程序,并在Safari中清除历史记录和cookie,它仍然记得。
我的应用程序使用以下功能退出Facebook。删除cookie的代码是因为我在其他帖子中找到的信息,但没有返回cookie,所以它实际上什么也没做。
- (void) logoutFaceBook {
[[FBSession activeSession] closeAndClearTokenInformation];
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for(NSHTTPCookie *cookie in [storage cookies]) {
NSString *domainName = [cookie domain];
NSRange domainRange = [domainName rangeOfString:@"facebook"];
if(domainRange.length > 0) {
[storage deleteCookie:cookie];
}}}