2015-10-05 18 views
5

Abbiamo un problema con l'invio di inviti con GKGameCenterViewController. Il controller della vista si apre bene, ma quando proviamo a inviare un invito a qualcuno, fallisce immediatamente. Entrambi gli account dispongono di inviti al centro giochi abilitati e la ricerca di altri giocatori tramite lo GKGameViewController funziona correttamente. Ecco il codice che stiamo usando per gestire gli inviti:L'invito al Game Center ha esito negativo immediatamente

Questo metodo è chiamato non appena il GKLocalPlayer viene autenticato (autenticazione viene chiamato da GameViewController, questo codice è in una classe dirigente separata Game Center):

internal func authenticationChanged() { 
    if GKLocalPlayer.localPlayer().authenticated && !authenticated { 
     print("Authentication changed: player authenticated") 
     authenticated = true 
     GKLocalPlayer.localPlayer().unregisterAllListeners() 
     GKLocalPlayer.localPlayer().registerListener(self) 
    } else { 
     print("Authentication changed: player not authenticated") 
     authenticated = false 
     GKLocalPlayer.localPlayer().unregisterAllListeners() 
    } 
} 

E questo è il metodo che dovrebbe essere chiamato quando l'invito è ricevuto, sebbene non venga chiamato considerando che l'invito fallisce non appena viene inviato.

public func player(player: GKPlayer, didAcceptInvite inviteToAccept: GKInvite) { 
    //presentingViewController.dismissViewControllerAnimated(false, completion: nil) 
    print("Accepted invite") 
    let mmvc = GKMatchmakerViewController(invite: inviteToAccept)! 
    mmvc.matchmakerDelegate = self 
    presentingViewController.presentViewController(mmvc, animated: true, completion: nil) 
} 

Questi due pezzi di codice sono tutti nella stessa classe che sono conformi alle GKMatchmakerViewControllerDelegate, GKGameCenterControllerDelegate, GKMatchDelegate, GKLocalPlayerListener delegati e protocolli.

+0

Ho riscontrato lo stesso problema. Hai trovato una soluzione? – EmilyJ

+0

Hai trovato una soluzione? –

+0

No, mi dispiace. Abbiamo appena finito di lavorarci intorno. –

risposta

0

Avevo lo stesso identico problema. Il problema sembra essere che stavo usando una nuova versione della stringa nelle impostazioni delle app: l'ho rinviata a una versione che è attualmente in iTunes Connect e funziona con Game Center e tutto funziona perfettamente!

+0

Grazie Ben, ma a quale stringa di versione ti riferisci? Quello in xcode in General/Identity? –

+0

Questo è corretto. È anche accessibile in info.plist con la chiave "Bundle versions string, short" – Ben