Facebook登录iPhone应用程序

时间:2012-08-18 18:39:30

标签: iphone ios facebook facebook-login

我试图让用户通过Facebook登录我的应用程序。我正在遵循本指南https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

我已经按照所有步骤进行了操作,包括名为“Facebook sdk for iOS入门”的步骤。

当我复制并粘贴以下方法时,我在这里收到错误:

 return [FBSession openActiveSessionWithPermissions:permissions

这是我复制和粘贴的方法。

    - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {

NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_likes",
                        @"read_stream",
                        nil];

return [FBSession openActiveSessionWithPermissions:permissions
                                      allowLoginUI:allowLoginUI
                                 completionHandler:^(FBSession *session,
                                                     FBSessionState state,
                                                     NSError *error) {
                                     [self sessionStateChanged:session
                                                         state:state
                                                         error:error];
                                 }];
    }

错误说明:“没有已知的选择器类方法'openActiveSessionWithPermissions:allowLoginUI:completionHandler:'”

有人可以帮我弄清楚我做错了什么吗? 如果您想查看我的更多代码来解决问题,请告诉我。

3 个答案:

答案 0 :(得分:2)

将facebook sdk更新为最新版本,然后按照美味的例子进行操作。

答案 1 :(得分:0)

我真的怀疑这会解决你的问题,但值得一试。 NSError通常在作为参数传递之前采用&符号(“&”)。因此,请将其写为error:&error

答案 2 :(得分:0)

补充mLamaa答案,请查看Facebook升级指南并按照以下两个步骤操作:

1-更新facebook SDK

2-将openActiveSessionWithPermissions函数替换为openActiveSessionWithReadPermissions

参考:

https://developers.facebook.com/docs/ios/upgrading/

从3.0升级到3.1

“因此,如果您的应用程序以前使用过SDK的v3.0,则需要删除openActiveSessionWithPermissions的使用:allowLoginUI:completionHandler:并将其替换为openActiveSessionWithReadPermissions:allowLoginUI:completionHandler :(或更简单的说,openActiveSessionWithAllowLoginUI)。“