3

我的应用程序使用 facebook 登录来验证用户身份,我听说 facebook 集成变成了 iOS SDK 本身,

现在,如果集成在 iOS 本身内部,我可以使用它登录而不导入 facebook SDK,如果可以,怎么办?我的应用程序也将运行 iOS 6 作为发布目标吗?

4

2 回答 2

12

好吧,首先您必须将Social.frameworkin 添加到您的项目中。

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

#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 用户信息,请参阅此答案

快乐编码。:-)

于 2012-10-31T07:55:13.897 回答
2

无论如何,您都需要导入 Facebook SDK 3.x。登录 poroces 的唯一区别是,如果用户已经使用本机 facebook 集成登录,则当用户尝试登录时,您的应用将不会发送到后台。换句话说,登录没有打开 facebook 的网页或可选安装的 facebook 应用程序。Ios 显示一个 uilaertview,说明您的应用程序想要访问 Facebook ant 仅此而已。如果用户单击确定,您的应用程序将被允许,您可以在 facebook 的设置应用程序中看到它.

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

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

于 2012-10-31T07:53:31.480 回答