ios - FBFriendPickerViewController 好友列表为空

标签 ios objective-c facebook cocos2d-iphone facebook-ios-sdk

我正在尝试使用 FBFriendPickerViewController获取 Facebook 好友列表以发送应用邀请。每当我测试代码时, friend 列表都是空的。请看下面的代码:

@implementation FacebookInviteViewController

- (void)showFriendPicker
{

    FBFriendPickerViewController *friendPicker = [[FBFriendPickerViewController alloc] init];
    friendPicker.title = @"Invite Friends";
    friendPicker.delegate = self;    

    [friendPicker loadData];

    AppController *appController = (AppController *)[[UIApplication sharedApplication] delegate];
    [appController.navController presentViewController:friendPicker animated:YES completion:nil];

}

-(void)inviteFromFacebookSelected
{
    if (!FBSession.activeSession.isOpen) {
        [FBSession openActiveSessionWithReadPermissions:nil
                                       allowLoginUI:YES
                                  completionHandler:^(FBSession *session,
                                                      FBSessionState state,
                                                      NSError *error) {
                                      if (error) {
                                          UIAlertView *alertView =
                                          [[UIAlertView alloc] initWithTitle:@"Error"
                                                                     message:error.localizedDescription
                                                                    delegate:nil
                                                           cancelButtonTitle:@"OK"
                                                           otherButtonTitles:nil];
                                          [alertView show];
                                      } else if (session.isOpen) {
                                          [self showFriendPicker];
                                      }
                                  }];

    } else {
        [self showFriendPicker];
    }
}

在 Settings 类(从 CCLayer 子类化)中,当按下 facebook 按钮时,我调用以下方法
-(void)showFbConnect    {
facebookInviteViewController = [[FacebookInviteViewController alloc] init];
[facebookInviteViewController inviteFromFacebookSelected];
}

我该如何解决这个问题?

最佳答案

Graph API 2.0 及以上版本只会返回使用好友的App。这意味着你只会得到那些已经授权你的应用的好友列表。因此,如果您在 facebook 上创建了一个新应用程序,并且如果您的好友列表中没有任何 friend 授权您的应用程序而不是 FBFriendPickerViewController将是空的。

查看官方facebook docs的更新日志

App Friends: The /me/friends endpoint no longer includes the full list of a person's friends. Instead, it now returns the list of that person's friends who are also using your app.



如果您想测试,您可以从您的 friend 帐户中授权您的应用程序,然后该 friend 将显示在 FBFriendPickerViewController

关于ios - FBFriendPickerViewController 好友列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26286695/

相关文章:

ios - Swift - 来自另一个类的运行方法

ios - X代码 : Multiple Target

facebook - 如何通过 uid 统计 Facebook 用户的好友总数?

android - 无法添加窗口——token android.os.BinderProxy 无效;您的 Activity 正在运行吗?

ios - 有没有办法通过 Haneke 预取图像?

ios - 所有章节标题显示在一个章节中

objective-c - SLComposeViewController 完成处理程序

ios - 删除启动画面上的状态栏

ios - 放下图像并在超出范围时释放

java - Facebook 登录方法 Onload