如何在 tvOS 中打开 GameCenter
Posted
技术标签:
【中文标题】如何在 tvOS 中打开 GameCenter【英文标题】:How to open GameCenter in tvOS 【发布时间】:2015-09-24 21:09:09 【问题描述】:如何在 tvOS 中打开游戏中心排行榜?我已将此代码用于我的 iPhone 游戏,'leaderboardIdentifier' 在 tvOS 上不可用。
我计划在 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)
【问题讨论】:
【参考方案1】:我也遇到了“无可用数据”屏幕的问题,但最终解决了。这对我在 tvOS 上打开 gamecenter 排行榜很有用:
-
打开 Assets.xcassets(您设置应用图标/启动屏幕的同一文件)
在面板中右键单击 appicon/launchsreen 并选择 Game Center -> New Apple TV Leaderboard
为新排行榜添加图形
在右侧面板的资产文件中选择排行榜时,找到 Identifier 字段并将排行榜的标识符放在那里
使用此代码打开排行榜:
GKGameCenterViewController *gcViewController = [[GKGameCenterViewController alloc] init];
gcViewController.gameCenterDelegate = self;
[self presentViewController:gcViewController animated:YES completion:nil];
【讨论】:
感谢分享这个解决方案! 完美答案:)【参考方案2】:这似乎有效:
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil)
gameCenterController.gameCenterDelegate = self;
[self presentViewController: gameCenterController animated: YES completion:nil];
【讨论】:
【参考方案3】:.viewState 和 .leaderboardIdentifier 在 tvOS 上不可用,因此您可以使用该代码打开 GC 控制器,但页面会显示“无可用数据”。
【讨论】:
以上是关于如何在 tvOS 中打开 GameCenter的主要内容,如果未能解决你的问题,请参考以下文章
如何在 tvOS 的同一视图中显示 UISearchController?
我们如何使用 tapGesture 在 Tvos 中播放视频