Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Game Center, zaproszenia nie korzystając z GKMatchmakerViewController


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 _krzysiek

_krzysiek
  • 1 971 postów
  • SkądŁódź

Napisano 09 listopada 2010 - 13:43

Cześć!
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 :)




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych