2012-10-31 49 views
3

我的应用程序使用Facebook登录来认证用户,我听说facebook集成成为iOS SDK本身内部,如何做Facebook登录iOS 6?

现在,如果集成成为iOS本身内部,我可以使用它来登录,而无需导入facebook SDK如果是的话?我的应用程序也会运行iOS 6作为发布目标?

回答

12

嗯,你必须在添加Social.framework到项目的第一位。

第2步:您需要导入两个classes.Import所需的类。

#import <Social/Social.h> 
#import <Accounts/Accounts.h> 

步骤3:我前进在您在您的应用程序有Facebook的按钮的假设。点击按钮,写下这些行。你完成了。 :-)

- (IBAction)facebookButtonClicked:(id)sender 
{ 
    if([SLComposeViewController isAvailableForServiceType: SLServiceTypeFacebook]) 
    { 
     // Facebook Service Type is Available 

     SLComposeViewController *slVC = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeFacebook]; 
     SLComposeViewControllerCompletionHandler handler = ^(SLComposeViewControllerResult result) 
     { 
      if (result == SLComposeViewControllerResultCancelled) 
      { 
       NSLog(@"Cancelled"); 

      } 
      else 
      { 
       NSLog(@"Done"); 
      } 

      [slVC dismissViewControllerAnimated:YES completion:Nil]; 
     }; 
     slVC.completionHandler   = handler; 
     [slVC setInitialText:@"Test Post from iOS6"]; 
     [slVC addURL:[NSURL URLWithString:@"http://www.apple.com"]]; 
     [slVC addImage:[UIImage imageNamed:@"someimage.png"]]; 

     [self presentViewController:slVC animated:YES completion:Nil]; 
    } 
    else 
    { 
     NSLog(@"Service Unavailable!!!"); 
    } 
} 

以上给出的是基本步骤。欲了解更多,你可以参考This

编辑:对于Facebook用户信息,请参阅answer

快乐编码。 :-)

+0

不错的答案,+1。 –

+0

我如何获得用户名,电子邮件和访问令牌? –

+0

请参阅编辑。 –

2

无论如何,您需要导入Facebook SDK 3.x。唯一的区别是,如果用户已经使用本地Facebook集成登录,则在用户尝试登录时,您的应用程序不会发送到后台。换句话说,登录不会打开Facebook的网页或可选安装的Facebook应用程序。Ios显示一个uilaertview,其中说你的应用程序想访问Facebook的蚂蚁这就是所有。如果用户点击确定,你的应用程序将被allwed,你可以看到它在设置应用程序unde facebook。

从实施的角度来看,它没有任何区别。您可以在Facebook开发人员主页上使用该教程。

http://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

+2

Facebook的文档真的很烂! – Abo3atef