facebook ios sdk 无法登出bug的解决方法
来源:互联网 发布:java replace 引号 编辑:程序博客网 时间:2024/06/06 03:08
先说下facebook ios sdk中如何不跳到safari而在程序内登陆
// UIDevice *device = [UIDevice currentDevice];// if ([device respondsToSelector:@selector(isMultitaskingSupported)] && [device isMultitaskingSupported]) {// if (tryFBAppAuth) {// NSString *scheme = kFBAppAuthURLScheme;// if (_urlSchemeSuffix) {// scheme = [scheme stringByAppendingString:@"2"];// }// NSString *urlPrefix = [NSString stringWithFormat:@"%@://%@", scheme, kFBAppAuthURLPath];// NSString *fbAppUrl = [FBRequest serializeURL:urlPrefix params:params];// didOpenOtherApp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fbAppUrl]];// }//// if (trySafariAuth && !didOpenOtherApp) {// NSString *nextUrl = [self getOwnBaseUrl];// [params setValue:nextUrl forKey:@"redirect_uri"];//// NSString *fbAppUrl = [FBRequest serializeURL:loginDialogURL params:params];// didOpenOtherApp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fbAppUrl]];// }// }
在Facbook.m文件中,注释掉上面那段即可,我的版本是241到260行
然后说下无法登出的原因,先看下登出时调用的方法:
- (void)logout { [self invalidateSession]; if ([self.sessionDelegate respondsToSelector:@selector(fbDidLogout)]) { [self.sessionDelegate fbDidLogout]; }}
- (void)invalidateSession { self.accessToken = nil; self.expirationDate = nil; NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray* facebookCookies = [cookies cookiesForURL: [NSURL URLWithString:@"http://login.facebook.com"]]; for (NSHTTPCookie* cookie in facebookCookies) { [cookies deleteCookie:cookie]; }}
这时候我们发现他只是销毁掉了http://login.facebook.com下的cookie,所以我们的账号有时会无法正常登出,因为他没销毁https://login.facebook.com下的cookie!,所以我们需要在invalidateSession中加入如下代码:
NSArray* facebookCookies1 = [cookies cookiesForURL: [NSURL URLWithString:@"https://login.facebook.com"]]; for (NSHTTPCookie* cookie in facebookCookies1) { [cookies deleteCookie:cookie]; }
简单起见我就加了个1,大家起名不要这样啊!
- facebook ios sdk 无法登出bug的解决方法
- iOS端新浪微博登出后再次登录跳过授权,登出无效的解决方法
- facebook SDK ios 接入
- [iOS] GameCenter无法从游戏中登出
- Build SDK时出现BUG的解决方法
- Facebook iOS SDK(Facebook API类库)
- Facebook SDK(iOS)初学讲解
- IOS 植入Facebook SDK --- 分享
- Facebook SDK(iOS)初学讲解
- Android SDK 无法更新的解决方法
- Android sdk Manager 无法下载的解决方法
- android sdk无法更新的解决方法
- android sdk无法更新的解决方法
- android sdk无法更新的解决方法
- Android SDK Manager无法安装Android SDK的解决方法
- Android SDK Manager无法安装Android SDK的解决方法
- 无法更新sdk 解决方法
- iOS 7 一些bug的解决方法
- 线程总结
- 二分图最大匹配 建图
- WinForm复制窗体,重命名后报错
- VA_LIST的用法
- 数据库相关
- facebook ios sdk 无法登出bug的解决方法
- 黄泉饮茶----第十七层地狱
- ORA-00600 internal error code,arguments
- linux容器技术-lxc创建虚拟机的执行过程分析
- U3C接口测试相关
- 火狐浏览器的一些小技巧
- linux容器技术-LXC相关技术知识介绍
- 2012年7月编程语言排行榜:Objective-C超越C++
- HDU1873(队列应用)