Iphone iOS应用程序的Facebook SSO问题
我正在尝试将Facebook集成到我的应用程序中,我已经实现了SSO功能,但是我遇到了一点障碍,一旦退出应用程序,我就无法恢复用户的会话。我存储令牌和到期日期,如图所示:Iphone iOS应用程序的Facebook SSO问题,iphone,ios,facebook,Iphone,Ios,Facebook,我正在尝试将Facebook集成到我的应用程序中,我已经实现了SSO功能,但是我遇到了一点障碍,一旦退出应用程序,我就无法恢复用户的会话。我存储令牌和到期日期,如图所示: -(void)fbDidLogin { NSString *tokenString = [[self facebook] accessToken]; NSDate * expirationDate = [[self facebook] expirationDate]; [[NSUserDefaults standardUse
-(void)fbDidLogin {
NSString *tokenString = [[self facebook] accessToken];
NSDate * expirationDate = [[self facebook] expirationDate];
[[NSUserDefaults standardUserDefaults] setValue: tokenString forKey:@"FacebookToken"];
[[NSUserDefaults standardUserDefaults] setObject: expirationDate forKey:@"FacebookExpirationDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"Login");
}
这是成功登录时调用的委托方法
并复会:
NSString *tokenString = [[NSUserDefaults standardUserDefaults] stringForKey:@"FacebookToken"];
NSDate *expDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"FacebookExpirationDate"];
if (tokenString != nil && expDate != nil)
{
[[facebookFetcher facebook]setAccessToken:tokenString];
[[facebookFetcher facebook] setExpirationDate:expDate];
}
if ([[facebookFetcher facebook] isSessionValid])
{
NSLog(@"YES");
}
else
{
NSLog(@"Bummer");
}
我试过用很多方法来解决这个问题,但运气不好。我注意到的一点是,有效期似乎有点奇怪:4001-01-01 00:00:00+0000有什么建议吗?谢谢 您的答案在下面的链接中 使用扩展权限脱机访问时,可以看到日期4001-01-01 00:00:00+0000
我遇到了麻烦,因为我从1970年开始就把日期转换成秒,就像在安卓Facebook SDK上那样。如果从1970年开始使用NSDate的时间间隔将4001-01-01转换为秒,则会得到一个负数-2147483648,因此请注意。如果是另一个问题的重复,您还应将其标记为重复,以便主持人注意。我对iOS的Facebook API知之甚少,无法判断,但你的回答暗示它是重复的。。。重复的问题是不允许的