2013-05-18 4 views
3

fb SDK 3.2에서는이 문제가 없었지만 SDK 3.5.1에서 업그레이드 한 후 친구 초대자는 몇 가지 이상한 문제가 있습니다. 선택한 하나와 그 아래 하나를 선택합니다. 또한 아래로 스크롤하려고 할 때 테이블을 다시 시작하고 테이블 위로 다시 가져옵니다. 내가 알고 온 것과Facebook sdk 3.5.1 초대 친구 요청으로 iOS에서 이중 선택

-(IBAction)secondClick:(id)sender 
{ 
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:nil]; 

[FBWebDialogs 
presentRequestsDialogModallyWithSession:nil 
message:@"Learn how to make your iOS apps social." 
title:@"Test" 
parameters:params 
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
    if (error) { 
     // Error launching the dialog or sending the request. 
     NSLog(@"Error sending request."); 
    } else { 
     if (result == FBWebDialogResultDialogNotCompleted) { 
      // User clicked the "x" icon 
      NSLog(@"User canceled request."); 
     } else { 
      // Handle the send request callback 
      NSDictionary *urlParams = [self parseURLParams:[resultURL query]]; 
      if (![urlParams valueForKey:@"request"]) { 
       // User clicked the Cancel button 
       NSLog(@"User canceled request."); 
      } else { 
       // User clicked the Send button 
       NSString *requestID = [urlParams valueForKey:@"request"]; 
       NSLog(@"Request ID: %@", requestID); 
      } 
     } 
    } 
}]; 
+0

:

나는 나의 friendPicker 코드를 게시합니다. 약 1 주일 전까지는 잘 작동했습니다. 내 안드로이드 기기의 Candy Crush Saga에서도 동일한 문제가 발생합니다. –

+0

@Dejan, 나에게 동일한 문제가 생겼다. 회신을 보내 주시면 –

답변

1

페이스 북이 문제를 해결하고 곧 수정 라이브 만들려고한다는 것입니다 : 여기 내 방법입니다. 다른 해결책은 사용자 정의 UI를 만드는 것입니다. 1. 친구 목록 가져 오기 - [자기 startConnectionWithGraphPath을 : @ "나/친구"매개 변수 : PARAMS 방법 : @ completionSelector "GET": @selector (콜백)]

  1. 다운로드 사진의 URL @를 사용하여 "https://graph.facebook.com/fbid/picture"

  2. 프로필 사진과 함께 친구 목록을 보여주는 facebook의 요청과 유사한 표보기를 구현합니다.

  3. 'to'매개 변수를 사용하여 선택한 사용자에게 요청을 보냅니다. NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys : @ "286400088", @ "to", nil];

이렇게하면 친구를 선택하기 위해 facebook UI를 표시 할 필요가 없습니다. 사용자가 사용자 정의 UI에서 친구를 선택한 후에도 UI가 계속 표시되지만 '보내기'만 누르면됩니다.

+0

이 코드 샘플을 보내 주실 수 있습니다 !!!! –

0

한 가지 방법은 페이스 북 friendPicker

https://developers.facebook.com/ios/friendpicker-ui-control/

을 사용 그리고 그의 페이스 북 아이디의 결과를 가지고 니틴이 말한 것처럼 requestdialog에 넣어하는 것입니다. 나는 또한 SDK 3.2에서 동일한 문제에 직면하고있다

- (IBAction)inviteFriendsClicked:(id)sender { 

    // Initialize the friend picker 


    FBFriendPickerViewController *friendPickerController = 
    [[FBFriendPickerViewController alloc] init]; 
    // Set the friend picker title 
    friendPickerController.title = @"Välj vänner"; 

    // TODO: Set up the delegate to handle picker callbacks, ex: Done/Cancel button 

    // Load the friend data 
    [friendPickerController loadData]; 
    // Show the picker modally 
    [friendPickerController presentModallyFromViewController:self 
                animated:YES 
                handler: 
    ^(FBViewController *sender, BOOL donePressed) { 
     if(donePressed) { 
      NSString *userString; 
      userString = @""; 
      int *counter = 0; 
      for (id<FBGraphUser> user in friendPickerController.selection) { 
       NSLog(user.id); 
       NSMutableArray *userArray = [[NSMutableArray alloc] init]; 
       [userArray addObject:user.id]; 

       if(counter == 0){ 
        userString = user.id; 
       }else{ 
        userString = [NSString stringWithFormat:@"%@%@%@", userString, @",", user.id]; 
       } 

       counter++; 

      } 

      if(counter != 0){ 
       [self requestDialog: userString]; // Display the requests dialog and send the id-string with it 
      } 
      // NSLog(@"Selected friends: %@", friendPickerController.selection); 
     } 
    }]; 



}