Może ktoś z Was zna odpowiedź, bo męczę się i nie mogę wykombinować.
Mam oto taki kod:
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"); } }];
Problemem jest to, że nigdy nie otrzymuje alerta na urządzeniu zalogowanego do konta G:1102359306. Kiedy korzystam z GKMatchmakerViewController (odkomenowuje dwie linie) i komentuje blok GKMatchmaker mam automatycznie zaznaczonego przyjaciela G:1102359306 i kiedy zaproszę go wyświetla się alert accept/decline is shown, czyli wszystko tu jest poprawne.
Widzicie żeby cokolwiek było błędnego w powyższym kodzie? Chcę skorzystać ze swojego własnego UI do multiplayer mode.
Dziwne jest to, że nigdy nie widzę w konsoli logów good match/other error, czy [error description]. Jest tylko wyświetlane kiedy powyższy kod zostanie użyty dwa razy (np. przez powrót do menu i ponowne odwiedzenie ekranu) mówi, że poprzedni request został anulowany.
Bardzo podobnym kodem udaje mi się normalnie znaleźć urządzenie aktualnie korzystające z mojej app:
GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease]; request.minPlayers = 2; request.maxPlayers = 2; [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) { if (error) [self displayInfo:@"Game Center" :[error localizedDescription] :@"OK"]; else if (match != nil) {NSLog(@"dobry match"); self.chatMatch = match; ...
będę wdzięczny za wszelką pomoc