我一直在寻找解决方案,似乎是一个简单的问题一段时间了,但没有运气。登录代码如下。facebook iphone sdk注销问题!
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *accessToken = [prefs stringForKey:@"facebook-accessToken"];
NSDate *expirationDate = [prefs objectForKey:@"facebook-expirationDate"];
facebook.accessToken = accessToken;
facebook.expirationDate = expirationDate;
if ([facebook isSessionValid]) {
NSLog(@"valid session");
}
else {
NSLog(@"NOT VALID");
[facebook authorize:nil delegate:self];
}
}
- (void)fbDidLogin {
NSLog(@"delegate method");
NSString *accessToken = facebook.accessToken;
NSDate *expirationDate = facebook.expirationDate;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:accessToken forKey:@"facebook-accessToken"];
[prefs setObject:expirationDate forKey:@"facebook-expirationDate"];
[prefs synchronize];
}
我有我的RootViewController的和实型的属性按钮退出。我将facebook实例传递给rootViewController,然后尝试按如下方式注销。
-(IBAction) logout {
[facebook logout:self];
}
- (void)fbDidLogout {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:nil forKey:@"facebook-accessToken"];
[prefs setObject:nil forKey:@"facebook-expirationDate"];
[prefs synchronize];
}
这种作品.....例如。当我不注销时,即使正确关闭应用程序,也可以重新启动应用程序(按住图标,然后按x),用户将无需执行任何操作即可登录。但是当我注销时,下次启动应用程序时,用户不会有机会重新输入登录详细信息,而只是获得一个Facebook页面,上面显示“您已经授权此应用程序使用Facebook”?
有没有人知道我是否正在讨论这个错误的方式,因为它现在真的很烦人?
非常感谢
朱
有你解决它 – 2011-06-03 12:31:56
类似的情况在这里..从应用程序/ SDK的Facebook注销成功,但它在Safari插件会话还是......如果我再次请登录就说明已经登录仅仅只确认许可 – 2011-06-03 12:33:18