我很难邀请朋友参加比赛。
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来处理多人游戏模式。奇怪的问题是我也没有在控制台中看到任何日志匹配/其他错误,并且[错误描述]仅在我调用上述代码两次时打印 - 它表示先前的请求被取消。
答案 0 :(得分:2)
您无法以编程方式邀请特定的一组玩家参加比赛。 findMatchForRequest:withCompletionHandler:
documentation说明了这一点:
匹配请求的
playersToInvite
属性被忽略;要邀请特定的一组玩家参加比赛,您必须显示一个红娘视图控制器。
没有公共API能够满足您的需求。