0

我正在尝试允许用户通过 Facebook 登录我的应用程序。我正在关注本指南https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

我已完成所有步骤,包括名为“iOS 版 Facebook sdk 入门”的步骤。

当我复制并粘贴以下方法时,此处出现错误:

 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:'没有已知的类方法”

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

4

3 回答 3

2

将您的 facebook sdk 更新到最新版本,并遵循 Scrumptious 示例。

于 2012-08-24T08:15:03.477 回答
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)。”

于 2014-02-20T12:55:16.983 回答
0

我真的怀疑这是否能解决你的问题,但值得一试。NSError 通常在作为参数传递之前需要一个 & 符号(“&”)。所以把它写成error:&error

于 2012-08-18T20:20:55.637 回答