Je suis confronté à la difficulté d'inviter un ami au match.Game Center invitant des amis progammatiquement
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");
}
}];
Le problème est que je ne reçois jamais la notification d'invitation au deuxième dispositif connecté au compte - G: 1102359306. Lorsque j'utilise GKMatchmakerViewController (décommenter plus de 2 lignes) et commenter le bloc GKMatchmaker, j'ai automatiquement coché le bon ami - G: 1102359306 et quand je l'invite la notification avec acceptation/refus est affichée, c'est comme ça que je sais que c'est correct.
Voyez-vous quelque chose de mal avec le code ci-dessus? Je veux utiliser ma propre interface utilisateur pour gérer le mode multijoueur. Le problème étrange est que je ne vois pas non plus dans la console les logs une bonne correspondance/autre erreur, et la [description de l'erreur] n'est imprimée que lorsque j'appelle deux fois le code ci-dessus - cela indique que la demande précédente a été annulée.
Merci d'avance.
Dans iOS 6, vous pouvez maintenant le faire, c'est-à-dire que la propriété playersToInvite n'est plus ignorée. – sup
@sup est vrai, mais vous ne pouvez toujours pas intercepter des invitations via handleInviteFromGameCenter par programmation, car cet appel semble provenir uniquement des contrôleurs de vue Game Center. – todd412