Domanda

La documentazione Game Center indica che il

  

parametro playersToInvite non è nullo   quando l'applicazione viene avviata   direttamente dal Game Center   applicazione di ospitare una partita.

Alcune persone hanno chiesto come funziona esattamente, vale a dire non ci non sembra essere un modo per selezionare un amico dall'applicazione Game Center e invitali a giocare da Game Center; funziona solo quando si invita in-game. E 'questa documentazione datata o c'è un modo segreto per iniziare una partita di gioco specifico da Game Center? Mi piacerebbe testare la mia inviteHandler ma sono stato in grado di determinare come questo parametro viene passato per l'applicazione.

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite)
{
    // clean up games in progress here
    if (acceptedInvite)
    {
        NSLog(@"acceptedInvite %@", acceptedInvite);
        // The acceptedInvite parameter is non-nil when the application receives an 
        // invitation directly from another player.
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self disableHomeUI];
        [self presentModalViewController:mmvc animated:YES];
    }
    else if (playersToInvite)
    {
        NSLog(@"playersToInvite %@", playersToInvite);
        // playersToInvite parameter is non-nil when your application is launched 
        // directly from the Game Center application to host a match
        [self disableHomeUI];
        [self doPresentMatchMakerUIWithPlayersToInvite:playersToInvite];
    }
};
È stato utile?

Soluzione 2

Dopo aver lanciato la mia domanda Cee-Lo in produzione, il codice playersToInvite diventato attivo. Questo sembra essere perché la versione Sandbox del Game Center applicazione stessa non consente di avviare un gioco con un giocatore da lì, ma la versione di produzione fa. Non è un ottimo ambiente di test, se mi chiedete!

Altri suggerimenti

Credo che la documentazione non riflettono lo stato attuale delle cose. Per quanto posso dire, il Game Center App non offrono anche un'interfaccia per invitare amici a giocare, al momento.

Inoltre, controllare il forum degli sviluppatori (a quanto pare hai;)). Qualcuno da Cupertino sembra pensare che non è possibile. Quindi ...

è ora un modo per utilizzare l'applicazione Game Center per invitare un amico Game Center. Funziona solo se il gioco richiede registerListener: sul localPlayer GKPlayer:

Game Center App -> scheda giochi -> il vostro gioco -> sezione Giocatori -> selezionare un giocatore -> "Gioca una partita"

Questo invierà una notifica push invitano a l'altro giocatore. Gioco fa non devono essere in esecuzione su entrambi i dispositivi. A partire dal iOS7.

Questo flusso funziona anche: Game Center App -> scheda amici -> toccare un amico -> toccare un gioco in comune (il gioco) -> toccare il "..." nell'angolo in alto a destra -> tap "Play"

Potrei sbagliarmi, ma penso che è solo il "simulatore" che non può invitare i particolari amici con cui giocare.

Sono stato in grado di utilizzare 2 o più iPhone in esecuzione nella sandbox di invitare amici a giocare particolari, e ha funzionato meravigliosamente per il debug il pezzo invitare gestore di codice.

Come un altro poster accennato, non sembra di essere in questo momento un modo di invitare amici a giocare a particolari un particolare gioco da Game Center.

Buon gioco!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top