1

我正在使用FaceBook SDK for iOS。Facebook SDK登录Iphone应用

对于登录UIWebView来,我们必须添加用户名和密码。我不想这样登录。

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

回答

2

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

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

委托方法是在SDK中,你可以保存访问令牌可用。

+0

作为ebuddy应用程序保存用户名和密码在手机和应用程序登录到Facebook在后台...我想这样的事 – 2011-02-25 09:04:51

+0

作为我的应用程序有自己的用户名和密码,并希望他/她登录到应用程序也自动登录进入Facebook,如果他/她已经提供详细信息 – 2011-02-25 09:36:17

+0

对不起......没有使用ebuddy呢!但是一旦你可以在后台登录用户后获得访问令牌后。 – Tobias 2011-02-25 10:21:27

0

我使用Facebook SDK旧版本,在这个U可以通过该唯一一次使用session它会要求登录,

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

本教程的工作像你想

+0

一次意味着...我希望如果我有用户名密码保存在数据库然后用户无需登录...它会自动登录后台 – 2011-02-28 10:38:27

+0

如何知道用户名前登录。至少有一次他需要登录才能知道? – Splendid 2011-02-28 10:40:40

+0

多一个问题http://stackoverflow.com/questions/5141703/fbconnect-api-response-in-iphone – 2011-02-28 12:34:29

0

你不能保存检索Facebook的用户名和密码,并且由于隐私问题,你不会保存在你的数据库中,你可以做什么是当你的用户第一次登陆permisssion要求offline_access,然后你会得到一个访问令牌将无限期地有效,您可以保存此access_to肯。

+0

但我认为我们可以将应用程序的本地密码保存在iphone上的任何文件或sqlite – 2011-03-04 07:46:30

+0

嗨艾米特,与任何开放的ID或像这样的登录,例如你一定看到facebook要求输入gmail id和pasword来检查你所有的gmail联系人是谁在facebook上,他们也不会存储你的密码,因为用户会把你把你的密码给任何随机的开发者,你不会。此外,最好不要存储它。如果您的所有需求都可以通过access_token来处理,那么为什么您需要存储密码,您的用例是什么?您想实现什么目标? – Yogesh 2011-03-04 14:53:19

0
-(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();"]; 

} 

它很容易解决你的问题。