ios - 如何在 tvOS 上显示 GameCenter 排行榜?

标签 ios xamarin tvos apple-tv game-center-leaderboard

认为我遵循了所有必需的步骤来支持我的游戏中的排行榜(它们在 iOS 上工作得很好),但是在 tvOS 上无法配置 GKGameCenterViewController 来显示特定的排行榜,LeaderboardIdentifier 属性完全缺失(就像 ViewState 一样):

var leaderboardController = new GKGameCenterViewController ();

// Unavailable on tvOS
/*
leaderboardController.ViewState = GKGameCenterViewControllerState.Default;
leaderboardController.LeaderboardIdentifier = "myLeaderboardId";
*/ 

leaderboardController.Finished += (sender, e) =>
{
  leaderboardController.DismissViewController (true, null);
}

PresentViewController (leaderboardController, true, null);

我没有使用这些属性,而是遵循了说明 here .我注意到这将在最终应用程序包中生成一个 GKGameCenterContent.plist 文件。我仔细检查了内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>GKLeaderboards</key>
    <array>
        <dict>
            <key>identifier</key>
            <string>myLeaderboardId</string>
            <key>onDemandResourcesTag</key>
            <string>com.apple.gamecenter.Leaderboard</string>
            <key>posterImageName</key>
            <string>Leaderboard/Poster</string>
        </dict>
    </array>
</dict>
</plist>

这看起来绝对正确,而且图像当然也在 bundle 中。不过,使用上面的代码显示游戏中心 Controller 只会给我成就屏幕,而不会显示其他内容。

最佳答案

您必须向 Assets.xassets 添加排行榜。在那里您可以输入标识符:

enter image description here

显示排行榜的代码:

@IBAction func openLeaderboard(sender: AnyObject) {

    let gcViewController = GKGameCenterViewController()
    gcViewController.gameCenterDelegate = self
    self.presentViewController(gcViewController, animated: true, completion: nil)
}

关于ios - 如何在 tvOS 上显示 GameCenter 排行榜?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34097474/

相关文章:

ios - 我的 IBAction 中的 NSDictionary 变为零

c# - Xamarin Forms 相对布局不会堆叠

apple-tv - TVOS 资源列表

sdk - 是否有适用于 Apple TV 的 SDK?

ios - 从 Facebook Graph api 检索用户城市

iphone - iOS 上的 NSNetServiceBrowser/Bonjour 问题

iphone - 如何知道/测试动画何时播放完毕

xamarin - 可以将 native android 中的任何代码转换为 xamarin.android 吗?

ios - 具有可变宽度但限制在父级内的按钮 - iOS 自动布局

swift - tvOS AVPlayerItem 外部艺术品元数据大小