2015-09-24 11 views
6

Come posso aprire una classifica del centro giochi in tvOS? Ho usato questo codice per i miei giochi per iPhone, 'leaderboardIdentifier' non sono disponibili su tvOS.Come aprire GameCenter in tvOS

Ho pianificato di utilizzare la stessa classifica su AppleTV (sarà lo stesso gioco).

Molte grazie per il vostro aiuto, Stefan

@IBAction func handleGameCenter(sender: UIButton) { 
     let gcViewController = GKGameCenterViewController() 
     gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards 
     gcViewController.leaderboardIdentifier = gamePrefix + "Leaderboard" 
     gcViewController.gameCenterDelegate = self 

     // Show leaderboard 
     self.presentViewController(gcViewController, animated: true, completion: nil) 
    } 

    func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController) { 
     gameCenterViewController.dismissViewControllerAnimated(true, completion: nil) 
    } 

risposta

13

Ho anche avuto il problema con la schermata "Nessun dato disponibile" ma alla fine l'ho risolto. Questo ha funzionato per me di aprire GameCenter leaderboard su TVOS:

  1. Assets.xcassets aperti (stesso file in cui si imposta la vostra applicazione icona/launchscreen)
  2. tasto destro del mouse nel pannello con AppIcon/launchsreen e selezionare Game Center - > nuova Apple TV Leaderboard
  3. aggiungere elementi grafici per la nuova classifica
  4. mentre leaderboard è selezionato nel file di attività sul pannello laterale destro trovare campo Identifier e mettere identificativo della vostra classifica ci
  5. uso questo codice per aprire la classifica :

    GKGameCenterViewController *gcViewController = [[GKGameCenterViewController alloc] init]; 
    gcViewController.gameCenterDelegate = self; 
    [self presentViewController:gcViewController animated:YES completion:nil]; 
    
+0

Grazie per la condivisione di questa soluzione! – Reinaldo

+0

Funziona! Molte grazie per il vostro aiuto. – Stefan

+0

Risposta perfetta :) – Siddharth

1

Proprio questo sembra funzionare:

GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init]; 
if (gameCenterController != nil) 
{ 
    gameCenterController.gameCenterDelegate = self; 
    [self presentViewController: gameCenterController animated: YES completion:nil]; 
} 
1

. viewState e. leaderboardIdentificatore non sono disponibili su tvOS, quindi è possibile aprire il controller GC con quel codice, ma la pagina dirà "Nessun dato disponibile".