游戏中心以程序方式邀请朋友

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

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说明:

匹配请求的playersToInvite属性被忽略; 要邀请特定的一组玩家参加比赛,您必须显示一个红娘视图控制器。

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