我正在尝试使用 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/