2015-09-24 15 views
6

Wie kann ich eine Game Center Bestenliste in tvOS öffnen? Ich habe diesen Code für meine iPhone-Spiele verwendet. "LeaderboardIdentifier" ist auf tVos nicht verfügbar.Wie öffne ich das GameCenter in tvOS?

Ich habe geplant, die gleiche Rangliste auf dem AppleTV zu verwenden (es wird das gleiche Spiel sein).

Vielen Dank für Ihre Hilfe, 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) 
    } 

Antwort

13

Ich hatte auch das Problem mit "Keine Daten verfügbar" Bildschirm, aber endlich gelöst. Dieser arbeitete für mich Gamecenter Leaderboard öffnen auf tvOS:

  1. offen Assets.xcassets (gleiche Datei, wo Sie Ihre App-Symbol/launchscreen gesetzt) ​​
  2. rechts im Panel klicken AppIcon/launchsreen und wählen Game Center - > New Apple TV Leader
  3. hinzufügen Grafiken für die neue Rangliste
  4. während Rangliste in Vermögenswerte Datei auf der rechten Seite des Geräts finden Identifier Feld und setzen Kennung Ihrer Rangliste diesen Code verwenden
  5. es
  6. der Rangliste zu öffnen ausgewählt ist :

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

Vielen Dank für diese Lösung zu teilen! – Reinaldo

+0

Das funktioniert! Vielen Dank für deine Hilfe. – Stefan

+0

Perfekte Antwort :) – Siddharth

1

Genau dies scheint zu funktionieren:

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

. viewState und. LeaderboardIdentifier sind nicht auf TVOS verfügbar, so dass Sie den GC-Controller mit diesem Code öffnen können, aber die Seite wird "Keine Daten verfügbar" sagen.