Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook sdk 3.5.1邀请好友请求在ios中进行双选_Ios_Facebook_Sdk_Facebook Invite - Fatal编程技术网

Facebook sdk 3.5.1邀请好友请求在ios中进行双选

Facebook sdk 3.5.1邀请好友请求在ios中进行双选,ios,facebook,sdk,facebook-invite,Ios,Facebook,Sdk,Facebook Invite,fb SDK 3.2没有这个问题,但在SDK 3.5.1中升级后,好友邀请器出现了一些奇怪的问题,当我选择一个好友时,它会选择所选的一个和它下面的一个。另外,当我试图向下滚动时,它会重新启动表格,并将我带回到表格顶部。 以下是我的方法: -(IBAction)secondClick:(id)sender { NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:nil]; [FBWebDialogs prese

fb SDK 3.2没有这个问题,但在SDK 3.5.1中升级后,好友邀请器出现了一些奇怪的问题,当我选择一个好友时,它会选择所选的一个和它下面的一个。另外,当我试图向下滚动时,它会重新启动表格,并将我带回到表格顶部。 以下是我的方法:

-(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);
             }
         }
     }
 }];

据我所知,facebook已经解决了这个问题,并将很快使这个问题得到解决。 另一种解决方案是创建自己的自定义UI。 1.获取好友列表-[self-startConnectionWithGraphPath:@“我/好友”参数:params方法:@“获取”完成选择器:@selector(回调)]

  • 使用url@“”下载图片

  • 实现一个类似于facebook请求ui的表格视图,显示好友列表及其个人资料图片

  • 使用“to”参数将请求定向到所选用户。NSMutableDictionary*参数=[NSMutableDictionary Dictionary WithObjectsAndKeys:@“286400088”,@“to”,nil]
    这样,您就不需要显示facebook用户界面来选择朋友。虽然用户从自定义用户界面中选择好友后,用户界面仍会显示,但这只是点击“发送”按钮。

    一种方法是使用Facebook
    好友选取器。

    然后像尼廷说的那样,将facebook id的结果放入requestdialog

    我将发布我的friendPicker代码:

    - (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);
             }
         }];
    
    
    
    }
    
    -(iAction)邀请的好友点击:(id)发件人{
    //初始化好友选择器
    FBFriendPickerController*friendPickerController=
    [[FBFriendPickerViewController alloc]init];
    //设置好友选取器标题
    friendPickerController.title=@“Välj Vänner”;
    //TODO:设置代理以处理选择器回调,例如:完成/取消按钮
    //加载好友数据
    [friendPickerController装载数据];
    //显示选择器模式
    [friendPickerController显示方式全部来自ViewController:self
    动画:是的
    处理程序:
    ^(FBViewController*发送器,BOOL donePressed){
    如果(未按下){
    NSString*userString;
    用户字符串=@;
    int*计数器=0;
    for(friendPickerController.selection中的用户id){
    NSLog(user.id);
    NSMutableArray*userArray=[[NSMutableArray alloc]init];
    [userArray addObject:user.id];
    如果(计数器==0){
    userString=user.id;
    }否则{
    userString=[NSString stringWithFormat:@“%@%@%@”,userString,@“,”,user.id];
    }
    计数器++;
    }
    如果(计数器!=0){
    [self-requestDialog:userString];//显示请求对话框并发送id字符串
    }
    //NSLog(@“选定的朋友:%@”,friendPickerController.selection);
    }
    }];
    }
    
    我在SDK 3.2中也面临同样的问题。直到大约一周前,它一直运转良好。在我的android设备上,我也注意到了糖果粉碎传奇中的同样问题。@Dejan,如果你得到Answer,我也有同样的问题,请通知我