Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to open GameCenter in tvOS

How can I open a game center leaderboard in tvOS? I've used this code for my iPhone games, 'leaderboardIdentifier' aren't available on tvOS.

I've planned to use the same leaderboard on the AppleTV (it will be the same game).

Many thanks for your help, 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)
    }
like image 768
Stefan Avatar asked Sep 24 '15 21:09

Stefan


1 Answers

I also had the problem with "No data available" screen but finally solved it. This worked for me to open gamecenter leaderboard on tvOS:

  1. open Assets.xcassets (same file where you set your app icon/launchscreen)
  2. right click in the panel with appicon/launchsreen and select Game Center -> New Apple TV Leaderboard
  3. add graphics for the new leaderboard
  4. while leaderboard is selected in assets file on the right side panel find Identifier field and put identifier of your leaderboard there
  5. use this code to open the leaderboard:

    GKGameCenterViewController *gcViewController = [[GKGameCenterViewController alloc] init];
    gcViewController.gameCenterDelegate = self;
    [self presentViewController:gcViewController animated:YES completion:nil];
    
like image 120
Leszek Szary Avatar answered Sep 19 '22 20:09

Leszek Szary