-1

Facebookの友達をリストしたいアプリを作成しています。そのために私は次のことをしました。

- (void)viewDidLoad
{        
    arrayFriends=[[NSMutableArray alloc]init];
    [super viewDidLoad];
    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) {
            switch (state) {
                case FBSessionStateClosedLoginFailed:
                {
                    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                        message:error.localizedDescription
                                                                       delegate:nil
                                                              cancelButtonTitle:@"OK"
                                                              otherButtonTitles:nil];
                    [alertView show];
                }
                    break;
                default:
                    break;
            }
        }];
    }       
}

-(void)viewWillAppear:(BOOL)animated
{
    if (self.friendPickerController == nil) {
        // Create friend picker, and get data loaded into it.
        self.friendPickerController = [[FBFriendPickerViewController alloc] init];
        self.friendPickerController.title = @"Pick Friends";
        self.friendPickerController.delegate = self;
    }

    [self.friendPickerController loadData];
    [self.friendPickerController clearSelection];
    [self.friendPickerController.view setFrame:CGRectMake(0, 77, 320, 383)];
    [self.view addSubview:self.friendPickerController.view];
    // iOS 5.0+ apps should use [UIViewController presentViewController:animated:completion:]

}
4

2 に答える 2

3

友達のリストとviewcontroller この画像のような友達リストを取得するには、viewWillAppear:methodに以下のコードを追加する必要があります

 if (self.friendPickerController == nil) {
    // Create friend picker, and get data loaded into it.
    self.friendPickerController = [[FBFriendPickerViewController alloc] init];
    self.friendPickerController.title = @"Pick Friends";
    self.friendPickerController.delegate = self;
}

[self.friendPickerController loadData];
[self.friendPickerController clearSelection];

[self presentModalViewController:self.friendPickerController animated:YES];

完了ボタンアクションとキャンセルボタンアクションについては、それぞれ以下のメソッドを呼び出す必要があります。

- (void)facebookViewControllerDoneWasPressed:(id)sender{
  //code goes here
}
- (void)facebookViewControllerCancelWasPressed:(id)sender{
 [self dismissModalViewControllerAnimated:YES];
}
于 2012-10-05T06:28:08.553 に答える
-1

iSpark がソース資料として使用しているチュートリアルで説明されていない、考慮すべきいくつかのこと (および、2013 年のコメント投稿者のうち、おそらく知りたいと思っていたもの):

  1. フレンドピッカーに表示されるユーザーは、自分でアプリをインストールしたユーザーのみです。これはより新しく、おそらく元の投稿の時点では適用されません。
  2. 友達を表示するには、ユーザーからの user_friends 許可が必要です。

詳細はこちら: Facebook iOS Select Friends Table Blank

于 2014-12-14T06:01:23.580 に答える