如何在tvOS中打开GameCenter

时间:2015-09-24 21:09:09

标签: game-center tvos apple-tv game-center-leaderboard

如何在tvOS中打开游戏中心排行榜?我已将此代码用于我的iPhone游戏,tvOS上没有“leaderboardIdentifier”。

我计划在AppleTV上使用相同的排行榜(这将是同一个游戏)。

非常感谢你的帮助, 斯蒂芬

    @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)
    }

3 个答案:

答案 0 :(得分:13)

我也遇到了问题"没有可用数据"屏幕,但终于解决了它。这对我来说可以在tvOS上打开游戏中心排行榜:

  1. 打开Assets.xcassets(设置应用图标/启动画面的文件相同)
  2. 右键单击面板中的appicon / launchsreen并选择Game Center - >新Apple TV排行榜
  3. 为新排行榜添加图片
  4. 在右侧面板的资产文件中选择了排行榜,找到标识符字段并将排行榜的标识符放在那里
  5. 使用此代码打开排行榜:

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

答案 1 :(得分:1)

这似乎有效:

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

答案 2 :(得分:1)

tvOS上没有 viewState 和。 leaderboardIdentifier ,因此您可以使用该代码打开GC控制器,但该页面会显示“无数据可用”。