2015-09-24 18 views
6

Jak otworzyć tabelę wyników w centrum gier w tvOS? Użyłem tego kodu do gier na iPhone'a, "leaderboardIdentifier" nie są dostępne na tvOS.Jak otworzyć GameCenter w TVOS

Planowałem użyć tej samej tabeli liderów na AppleTV (to będzie ta sama gra).

Wielkie dzięki za pomoc, 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) 
    } 

Odpowiedz

13

Miałem też problem z ekranem "Brak danych", ale w końcu go rozwiązałem. Ten pracował dla mnie, aby otworzyć GameCenter liderów na tvOS:

  1. otwarte Assets.xcassets (ten sam plik, w którym ustawiony aplikacja ikona/launchscreen)
  2. prawym przyciskiem myszy w panelu z appicon/launchsreen i wybierz Game Center - > Nowy Apple TV Leaderboard
  3. dodać grafikę dla nowego banera
  4. podczas Leaderboard jest wybierany w pliku aktywów na prawym panelu bocznym pole identyfikatora znaleźć i umieścić identyfikator Twojego liderów tam
  5. użyć tego kodu, aby otworzyć liderów :

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

Dziękujemy za udostępnienie tego rozwiązania! – Reinaldo

+0

To działa! Wielkie dzięki za Twoją pomoc. – Stefan

+0

Doskonała odpowiedź :) – Siddharth

1

Tylko ten wydaje się działać:

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

. viewState i. leaderboardIdentifier nie są dostępne na tvOS, więc możesz otworzyć kontroler GC z tym kodem, ale strona powie "Brak danych".