1

我正在尝试将“选择朋友”添加到我的 iOS 应用程序中。我设置了登录视图。登录后,我打开朋友选择器,但它显示为空白。我看到带有完成和取消按钮的表格,但表格中没有加载任何朋友。

- (IBAction)selectFriendsButtonAction:(id)sender {
    if (self.friendPickerController == nil) {
        // Create friend picker, and get data loaded into it.
        self.friendPickerController = [[FBFriendPickerViewController alloc] init];
        self.friendPickerController.title = @"Select Friends";
        self.friendPickerController.delegate = self;
    }
    [self.friendPickerController loadData];
    [self.friendPickerController clearSelection];
    [self presentViewController:self.friendPickerController animated:YES completion:nil];

}
4

3 回答 3

1

在打开好友选择器控制器之前,通过调用以下命令确保您的 Facebook 会话处于活动状态:

if (!FBSession.activeSession.isOpen) {
    // if the session is closed, then we open it here, and establish a handler for state changes
    [FBSession.activeSession openWithCompletionHandler:^(FBSession *session,
                                                         FBSessionState state,
                                                         NSError *error) {
        // Handle error
    }];
}
于 2013-03-19T15:32:27.923 回答
0

If you use "FBFriendPickerViewController", it seems return friends who also use this APP. In Facebook document: after API Graph v2.0, "me/friends" will only return friends that also use the app. I think that's why the friend table is blank.

There is another option that you can use "FBTaggableFriendPickerViewController" instead. But your APP will need to be reviewed by Facebook before it can get data back. (https://developers.facebook.com/docs/graph-api/reference/v2.2/user/taggable_friends?locale=zh_TW)

于 2014-12-24T07:13:42.147 回答
0

即使您非常了解 Facebook SDK 的其余部分,您也可能没有意识到您需要注意两件事。

  1. 该对话框将仅显示也安装了该应用程序的朋友。
  2. 您必须在登录流程中请求 user_friends 权限。

对于 1.,创建或使用您已经拥有的测试用户并与该用户一起运行您的应用程序,以便授权该应用程序进行基本访问(“安装”它)。

对于 2,将该权限添加到您的登录流程中,注销并使用您正在测试的发件人(可能是您自己的用户)重新登录,如果即使那时您也没有收到提示,请通过https 卸载该应用程序: //www.facebook.com/settings/?tab=applications

http://www.brianjcoleman.com/tutorial-get-facebook-friends-in-swift/讨论了其中的一些内容。Facebook 文档本身要么根本不提及这两个问题,要么被埋没。

于 2014-12-14T05:55:15.003 回答