2014-10-09 65 views
1

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

@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]; 
    } 
} 

在设置类(从CCLayer子类)我叫下面的方法时,Facebook的按钮被按下

-(void)showFbConnect { 
facebookInviteViewController = [[FacebookInviteViewController alloc] init]; 
[facebookInviteViewController inviteFromFacebookSelected]; 
} 

我怎样才能解决这个问题呢?

回答

4

图API 2.0及以上版本只会返回使用好友的应用。这意味着您只会获得已授权您的应用的朋友列表。因此,如果您在Facebook上创建了新应用,并且您的朋友列表中没有任何朋友已授权您的应用,则FBFriendPickerViewController将为空。

检查更改日志在官方facebook docs

应用程序朋友们:/我的/朋友端点不再包括一个人的好友名单 。相反,它现在返回那个也在使用你的应用的朋友的名单。

如果你想测试你可以从你的一个朋友授权您的应用帐户,比朋友会在FBFriendPickerViewController

+0

无论如何,我可以发送Facebook请求给所有我的朋友(谁不玩我的应用程序)玩吗? – errorallergic 2014-10-10 18:32:09

+0

我知道我迟到了,但你可能想看看这个https://developers.facebook.com/docs/games/invitable-friends/v2.2 – 2014-11-10 07:31:43

2

小除了@ Bhumit的回答显示。您可以在Facebook上转到您的应用程序页面,并在角色部分添加测试用户。 Facebook只需点击一下按钮即可为您创建测试用户。然后,您可以管理这些用户及其朋友。 这应该有助于测试。