我使用的Xcode 4.3.1重复授权窗口
在我的应用我尝试使用Facebook SSO.My要求是在第一时间应用程序应该要求的授权后,它应该检查是否应用是由用户授权的,并且应该移动到下一个进程(即使在设备中的任务被取消之后)。我不需要那个授权窗口一次又一次地重复。
中的appdelegate:
facebook=[[Facebook alloc]initWithAppId:appid andDelegate:first];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@Defaults:",[defaults objectForKey:@"FBAccessTokenKey"]);
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"])
{
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
accessToken=facebook.accessToken;
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
date=facebook.expirationDate;
}
In my view Controller:
-(IBAction)LoginClick:(id)sender
{
NSUserDefaults *defaults1 = [NSUserDefaults standardUserDefaults];
[defaults1 setObject:xapp.facebook.accessToken forKey:@"FBAccessTokenKey"];
[defaults1 setObject:xapp.facebook.expirationDate forKey:@"FBExpirationDateKey"];
[defaults1 synchronize];
if (![xapp.facebook isSessionValid])
{
permissions = [[NSArray alloc] initWithObjects:@"read_stream",@"publish_stream", nil];
[xapp.facebook authorize:permissions];
}
else if([xapp.facebook isSessionValid])
{
NSLog(@"Hiii");
permissions=nil;
[xapp.facebook authorize: nil];
}
}
我怎样才能使应用程序被授权后,不会出现授权窗口...
感谢您的代码...但我在[侦听器facebookDidLogin]; “没有已知的选择器实例方法'fbDidLogin'” – Icoder 2012-07-20 10:08:12
这是为了防止您在每次登录时询问权限。检查更新的答案。 – Shabib 2012-07-20 10:12:33
根据我更新的答案创建一个名为FBUser.h的自定义头文件。 – Shabib 2012-07-20 10:18:45