显示排行榜崩溃应用程序,因为不支持 showViewController
Posted
技术标签:
【中文标题】显示排行榜崩溃应用程序,因为不支持 showViewController【英文标题】:Showing leaderboard crashes app because showViewController isn't supported 【发布时间】:2015-06-03 02:33:23 【问题描述】:在 ios 7 中显示 Game Center 排行榜的正确方法是什么?下面的代码在 showViewController
上崩溃,因为它只支持 iOS 8。其他 Stack Overflow 帖子建议在 iOS 7 上使用 presentViewController
,但这只会显示空白排行榜。
func showLeaderboards()
// User logged into GameCenter?
if (!GKLocalPlayer.localPlayer().authenticated)
println("Local player not authenticated")
// Show message
return
// If here, user authenticated. Present leaderboards.
var gcViewController = GKGameCenterViewController()
gcViewController.gameCenterDelegate = self
gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
gcViewController.leaderboardIdentifier = HighScoresLeaderboardKey
self.showViewController(gcViewController, sender: self)
self.navigationController?.pushViewController(gcViewController, animated: true)
【问题讨论】:
【参考方案1】:如果您的应用面向 iOS 7.x,则应使用以下代码:
self.presentViewController(gcViewController, animated: true, completion: nil)
代替:
self.showViewController(gcViewController, sender: self)
【讨论】:
感谢您的帮助,但 presentViewController 显示一个空的排行榜(即没有排行榜选项卡,没有挑战选项卡)。如果我们在 iOS 8 设备上使用 showViewController,它会显示一个填充的排行榜。我们还需要对 presentViewController 做些什么以便它显示一些东西吗? 我是GameKit的初学者,很抱歉我不能帮你解决“显示一个空的排行榜” 谢谢,但是您知道为什么我们在 iOS 8 设备上使用 presentViewController 而不是 showViewController 时结果会不同吗? 实际上现在似乎可以工作了,谢谢!不知道为什么一开始它不起作用。以上是关于显示排行榜崩溃应用程序,因为不支持 showViewController的主要内容,如果未能解决你的问题,请参考以下文章
MacOS GameKit 排行榜无法加载应用程序“不支持排行榜”错误