我正在使用 Xcode 4.3.1
我使用下面的代码来获取 Facebook 访问令牌。
在 Appdelegate 中:
facebook=[[Facebook alloc]initWithAppId:appid andDelegate:first];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"])
{
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
accessToken=facebook.accessToken;
date=facebook.expirationDate;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [ self.facebook handleOpenURL:url];
}
Facebook SSO(登录)在 viewController 中:
-(IBAction)LoginClick:(id)sender {
accesstoken=xapp.accessToken;
date=xapp.date;
[self fbDidExtendToken:xapp.accessToken expiresAt:xapp.date]; //For extending tokens
NSLog(@"accesstoken:%@",accesstoken);
if (![xapp.facebook isSessionValid])
{
[xapp.facebook authorize:permissions];
}
else
{
[xapp.facebook authorize: nil];
}
}
在这里我无法正确处理会话。我的要求是第一次用户必须登录并且他应该授权应用程序。一旦他完成了应用程序不应该要求授权。现在它每次都要求授权我正在运行应用程序。我该如何解决这个问题.....