risposta definitiva a quello che è per playersToInvite
-
09-10-2019 - |
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];
}
};
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!