4

我目前正在尝试组合一个应用程序 - 它的基础(希望)建立在 Facebook iOS SDK 3.0 教程上。

我正在关注的教程位于:http: //developers.facebook.com/docs/tutorials/ios-sdk-tutorial/authenticate/

我发现 Facebook 的各种 SDK 版本在最终版本中都有一些变化。

但是,在代码编译之前,我确实有最后一个问题:

“选择器‘sessionOpenWithPermissions:completionHandler:’没有已知的类方法”

此错误是指以下代码:

- (void)openSession
{
    [FBSession sessionOpenWithPermissions:nil completionHandler:
     ^(FBSession *session, FBSessionState state, NSError *error) {
         [self sessionStateChanged:session state:state error:error];
     }];    
}

在 Xcode 中查看 FBSession.h 文件时,没有提及sessionOpenWithPermissions.

有人可以帮我解决这个问题吗?我是 Objective-C/Xcode 的新手,并且正在通过试验学习。

4

2 回答 2

3

我遇到了同样的问题,让我的代码使用以下更改。

//REPLACE
[FBSession sessionOpenWithPermissions:nil
                    completionHandler: ^(FBSession *session, FBSessionState state, NSError *error) {
                        [self sessionStateChanged:session state:state error:error];
                    }];

//WITH
[FBSession openActiveSessionWithPermissions:nil
                               allowLoginUI:YES
                          completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                              [self sessionStateChanged:session state:state error:error];
                          }];

如果您 alt 单击该方法,您将获得有关要传递的参数的更多信息。 openActiveSessionWithPermissions 选项

于 2012-08-18T21:52:07.993 回答
0

看起来文档有一个错误。根据 API 更改日志,该类方法已被替换。

FBSession 类方法 sessionOpenWithPermissions:completionHandler: 已被移除,改为使用新的 openActiveSessionWithPermissions:allowLoginUI:completionHandler: 类方法。

API 更改日志 URL

于 2012-08-13T17:18:45.023 回答