Facebook SDK登录Iphone应用程序

我正在使用FaceBook SDK for iOS。

登录时会出现UIWebView,我们必须添加用户名和密码。 我不想这样登录。

如果用户提供iOS应用程序的用户名和密码,登录是在后台完成还是不打开UIWebView?

FaceBook的SDK不允许……他们已经实现了oauth登录方法,因此用户不需要为应用程序提供用户名和密码,用户可以直接在Web视图中输入凭据并通过fb服务器进行身份validation。 但是作为响应,app收到一个访问令牌,它可以保存并用于将来的交易,用户不需要再次输入他的用户名或密码。 在这方面,本教程可能会有所帮助:

http://www.raywenderlich.com/1488/how-to-use-facebooks-new-graph-api-from-your-iphone-app

SDK中提供了委托方法,您可以在其中保存访问令牌。

我正在使用FaceBook Sdk旧版本,在此你可以使用Session这一次只会要求登录,

http://www.raywenderlich.com/77/how-to-post-on-facebook-with-your-iphone-app

本教程就像你想要的那样工作

您无法保存检索Facebook用户名和密码,并且您不会因为隐私问题而将其保存在您的数据库中,您可以做的是当您的用户第一次登录permisssion时请求offline_access然后您将获得一个无限期有效的访问令牌,您可以保存此access_token。

-(void)viewDidLoad { [super viewDidLoad]; NSString *urlString = @"http://www.XYZ.com"; url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [web loadRequest:request]; } -(void)webViewDidStartLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat: @"var field = document.getElementById('ctl00_txtPassword');" "field.value='%@';",password]]; [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"var field = document.getElementById('ctl00_txtUsername');" "field.value='%@';",username]]; } -(void)webViewDidFinishLoad:(UIWebView *)webView; { [self.web stringByEvaluatingJavaScriptFromString:@"fnLogin();"]; } 

它很容易解决您的问题。