似乎尽管能够设置ViewController,允许自己打开它并查看排行榜/成就/等,但我无法使用“完成”按钮实际关闭视图控制器。“
相反,我完全没有回应,也没有在“gameCenterViewControllerDidFinish”功能中打印任何内容。
我无法想象究竟是什么导致了这样的问题。不幸的是,浏览论坛并没有帮助,因为每个响应只是记下需要甚至构建项目所需的功能。
func gameCenterViewControllerDidFinish(_ gameCenterViewController: GKGameCenterViewController) {
gameCenterViewController.dismiss(animated: true, completion: nil); }
func displayAchievements() {
var game_center_view = GKGameCenterViewController();
game_center_view = GKGameCenterViewController();
game_center_view.viewState = GKGameCenterViewControllerState.achievements;
game_center_view.gameCenterDelegate = self;
self.present(game_center_view, animated: true, completion: nil); }
编辑:显示相关代码。
编辑:这些方法最初是在一个单独的类中,以整理代码并将GameCenter作为一个单独的东西。将排行榜和“didFinish”方法移动到主类似乎可以解决所有问题。不是最干净的,但它有效。