Niektóre pytania startBrowsingForNearbyPlayersWithReachableHandler

Staram się, aby lokalne matchmaking działało w GameKit[[GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:]. Zasadniczo próbuję zaimplementować lokalne mecze bez interfejsu: tak długo, jak w moim najbliższym otoczeniu jest gracz, chcę się połączyć i rozpocząć mecz. Co ważne, jatylko chcesz to zrobić dla lokalnych graczy: Inigdy chcesz dopasować się automatycznie przez Internet.

Włączyłem Game Center dla mojej aplikacji w iTunes połącz i założyłem inne konto piaskownicy na każdym urządzeniu, którego używam do testowania.

Próbowałem obu metod dobieraniaGKMatchmakerViewController (po uwierzytelnieniu lokalnego odtwarzacza) i programowe kojarzenie zstartBrowsingForNearbyPlayersWithReachableHandler:, uruchamiając ten sam kod na iPhonie 4 i iPodzie Touch 4. generacji siedząc obok siebie na moim biurku. Nigdy nie znajduje drugiego; podczas używaniaGKMatchmakerViewController interfejs do znajdowania pobliskich graczy pozostaje na

Szukanie graczy ...

błystka i podczas używaniastartBrowsingForNearbyPlayersWithReachableHandler:, blok powiadomień nigdy nie zostanie wywołany.

Oto mój obecny blok kodu testowego:

-(void)connectLocal
{
    if( ![GKLocalPlayer localPlayer].isAuthenticated )
    {
        // authenticateLocalPlayer calls connectLocal again after authentication is complete
        [ self authenticateLocalPlayer ];
        return;
    }
    [[GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:^(NSString *playerID, BOOL reachable) {
             NSLog(@"Reachability changed for player %@", playerID );
        } ];
}

Dokumenty są trochę rzadkie i mylące na ten temat, zwłaszcza jeśli chodzi o różnicę między lokalnym mulitplayerem a meczami w Internecie. Na przykład wydaje się konieczne uwierzytelnienie lokalnego gracza i utworzenie meczu przed znalezieniem graczy, którzy dołączą do tego meczu (Tworzenie dowolnego rodzaju meczu rozpoczyna się od żądania dopasowania). jednakten mały samorodek wydaje się sugerować inaczej:

Standardowy interfejs użytkownika pozwala graczom odkrywać innych pobliskich graczy, nawet jeśli żaden z graczy nie jest obecnie podłączony bezpośrednio do Game Center.

Dodatkowo w przepływie opisanym wWyszukiwanie w pobliżu graczy, żądanie dopasowania nie jest tworzone do kroku 3,po znajdowanie graczy za pośrednictwem bloku powiadomień przekazanego dostartBrowsingForNearbyPlayersWithReachableHandler:. Niestety, nigdy nie zaszedłem tak daleko.

Tak więc pytania:

1) Czy mam rację, myśląc, że mogę zadzwonić?startBrowsingForNearbyPlayersWithReachableHandler: przed uwierzytelnieniem lokalnego gracza? GameKit nie zgłasza błędu, więc zakładam, że jest OK. To może być pochopne założenie. To, czy uwierzytelnię się, czy nie, nie wydaje się mieć większego znaczenia.

2) Czy ktoś pomyślnie wdrożył lokalne automatyczne dopasowywanie przy użyciu[GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:? Czy jest gdzieś dobry przykładowy kod, który ilustruje pełny przepływ, od przeglądania przez graczy do rozpoczęcia meczu, wszystko programowo?

3) Wydaje się, że w sieci są sprzeczne raporty dotyczące tego, czy aplikacje obsługujące GameKit mogą być testowane w symulatorze iOS. Ogólny konsensus wydaje się nie, a lepiej przetestować na sprzęcie iOS. Używam iPhone'a 4 i iPoda Touch 4. generacji. Dla tych, którzy pomyślnie przetestowali lokalny tryb wieloosobowy, jaką konfigurację testową i metodologię zastosowaliście?

questionAnswers(3)

yourAnswerToTheQuestion