我想制作一个应用程序,要求在Facebook对话框中进行身份验证,如果Facebook应用程序安装在iPhone或未安装。如果我注销Facebook,那么它应该从Facebook注销。我已经使用Facebook的IOS-SDK为Facebook API我的代码如下:打开Facebook对话框进行身份验证,而不是iPhone中的安装Facebook应用程序?
- (void)viewDidLoad
{
_facebook=[[Facebook alloc] initWithAppId:appId andDelegate:self];
self.navigationController.navigationBarHidden = YES;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"])
{
_facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
_facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
[super viewDidLoad];
}
//登录按钮窃听
-(IBAction)Login
{
NSLog(@"login called");
if (![self connected])
{
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Connection" message:@"Internet is not Connected" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];[alert release];
}
else
{
if (suggestion==nil)
{
suggestion=[[Suggestions alloc] initWithNibName:@"Suggestions" bundle:nil];
}
[suggestion setReqFlg:YES];
if (![_facebook isSessionValid])
{
NSLog(@"sesssion invalid u have to login...");
[_facebook authorize:nil];
}
else
{
NSLog(@"valid and going on next page called graph API ");
[_facebook requestWithGraphPath:@"me?fields=id,name" andDelegate:self];
suggestion.parentView=self;
[self.navigationController pushViewController:suggestion animated:YES];
}
}
}
- (void)fbDidLogin
{
NSLog(@"facebook did first login..");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[_facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[_facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
NSLog(@"called gtraph from login in facebook ");
[_facebook requestWithGraphPath:@"me?fields=id" andDelegate:self];
if (suggestion==nil)
{
suggestion=[[Suggestions alloc] initWithNibName:@"Suggestions" bundle:nil];
}
suggestion.parentView=self;
[self.navigationController pushViewController:suggestion animated:YES];
}
- (void)fbDidLogout
{
NSLog(@"logout");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:@"FBAccessTokenKey"];
[defaults removeObjectForKey:@"FBExpirationDateKey"];
[defaults removeObjectForKey:@"FBUserId"];
[defaults synchronize];
}
请问我有facebook.m文件或有变化是另一种方式来做到这一点。每次我点击登录按钮应显示Facebook登录对话框,如果Facebook是注销,并导航到下一个视图,如果Facebook是登录。不要打开facebook应用程序安装在iPhone登录目的。
提供您的评论或回答我真的需要它。 谢谢你!
上,当你运行它 – Dustin
如果我点击登录按钮,它会安装在我的iPhone authentication.I Facebook应用程序想会发生什么在Facebook对话框中显示它。 – Warewolf
我敢肯定,苹果不会让你从你自己的应用程序登录到Facebook – Dustin