我很难邀请一个朋友参加比赛。
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来处理多人模式。奇怪的是,我在控制台中也看不到任何日志是否匹配/其他错误,只有当我两次调用上面的代码时才会打印错误描述--上面写的是先前的req被取消了。
发布于 2012-06-02 20:34:12
您不能以编程方式邀请一组特定的球员参加比赛。findMatchForRequest:withCompletionHandler: documentation说:
match请求的
playersToInvite属性被忽略;若要邀请一组特定的球员参加比赛,您必须显示一个媒人视图控制器。
没有公共API可以实现您想要的功能。
https://stackoverflow.com/questions/4117781
复制相似问题