首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到FBRequestConnection类方法

找不到FBRequestConnection类方法
EN

Stack Overflow用户
提问于 2012-09-03 11:56:10
回答 1查看 1.5K关注 0票数 0

我正在尝试运行一个Facebook多查询,按照FacebookSDK的iOS Facebook developer's site教程的指导,下面是我的iOS应用程序中的代码:

代码语言:javascript
复制
-(BOOL) FBGetFriendList
{
    if (FBSession.activeSession.isOpen)
    {
        // Multi-query to fetch the active user's friends
        // Initial query is stored in reference named "friends"
        // Second query picks up the "uid2" info from the first query
        // and gets the friend details.
        NSString *query = 
        @"{"
        @"'friends':'SELECT uid2 FROM friend WHERE uid1 = me()',"
        @"'friendinfo':'SELECT uid, name, pic_square FROM user WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM #friends)',"
        @"}";

        // Setup the query parameter
        NSDictionary *queryParam = [NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];

        // Make the API request that uses FQL
        [FBRequestConnection startWithGraphPath:@"/fql"
                                 parameters:queryParam
                                 HTTPMethod:@"GET"
                          completionHandler:^(FBRequestConnection *_connection, id _result, NSError *_error) {
            // check for errors here
            if (_error)
            {
                NSLog(@"FacebookSDKPlugin > FBGetFriendList() > request error!");
            }
            else
            {
                @synchronized(friendList)
                {
                    if (friendList == nil)
                    {
                        friendList = [[NSMutableArray alloc] init];
                    }
                    else
                    {
                        [friendList removeAllObjects];
                    }
                    NSArray *facebookData = [(NSDictionary *)_result objectForKey:@"data"];
                    int count = facebookData.count;
                    for (int i = 0; i < count; ++i)
                    {
                        NSDictionary<FBGraphUser> *tempObject = [facebookData objectAtIndex:i];
                        FacebookFriend *tempFriend = [[FacebookFriend alloc] initWithID:[tempObject.id copy] name:[tempObject.name copy]];
                        [friendList addObject:tempFriend];
                    }
                }
             }
        }];
        return YES;
    }
    return NO;
}

但是,在编译过程中会出现一个警告:

代码语言:javascript
复制
Class method '+startWithGraphPath:parameters:HTTPMethod:completionHandler:' not found (return type defaults to 'id')

我忽略了这个错误,并在我的iPad2上编译,它崩溃了,错误如下:

代码语言:javascript
复制
2012-09-03 11:53:13.377 +[FBRequestConnection startWithGraphPath:parameters:HTTPMethod:completionHandler:]: unrecognized selector sent to class 0xa05350
2012-09-03 11:53:13.379 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[FBRequestConnection startWithGraphPath:parameters:HTTPMethod:completionHandler:]: unrecognized selector sent to class 0xa05350'

我已经包含了"FBRequest.h“和"Facebook.h",我可以在"FBRequest.h”中看到该方法。然而,我不明白为什么编译器找不到这个函数。有谁知道如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-04 11:07:03

我意识到我一直在使用旧版本的FacebookSDK,这解释了为什么代码不能像官方教程中所说的那样工作。更新到SDK的最新版本(版本3.0.8)解决了此问题!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12241806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档