iphone – 游戏中心以编程方式邀请朋友

我很难邀请朋友参加比赛.

GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease]; 
    request.minPlayers = 2;
    request.maxPlayers = 2;
    request.playersToInvite = [NSArray arrayWithObjects: @"G:1102359306",nil ];


//  GKMatchmakerViewController *mv = [[GKMatchmakerViewController alloc] initWithMatchRequest:request];
//  [self presentModalViewController:mv animated:YES];


    [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) {
        if (error) {
            NSLog([error description]);
        }
        else if (match != nil) {NSLog(@"good match");
            //self.chatMatch = match;
            //self.chatMatch.delegate = self;       
            //[self chatReady];
        }
        else {
            NSLog(@"other error");
        }

    }];

问题是我从未收到登录到该帐户的第二台设备上的邀请通知 – G:1102359306.
当我使用GKMatchmakerViewController(取消注释超过2行)并评论GKMatchmaker块时,我已经自动检查了好友 – G:1102359306,当我邀请他时,会显示接受/拒绝的通知,这就是我知道它是正确的.

你看到上面的代码有什么问题吗?我想使用自己的UI来处理多人游戏模式.奇怪的问题是我也没有在控制台中看到任何日志匹配/其他错误,并且[错误描述]仅在我调用上述代码两次时打印 – 它表示前一个请求被取消.

最佳答案 您无法以编程方式邀请特定的一组玩家参加比赛.
findMatchForRequest:withCompletionHandler: documentation说:

The match request’s playersToInvite property is ignored; to invite a specific set of players to the match, you must display a matchmaker view controller.

没有公共API可以满足您的需求.

点赞