为什么在调用gameCenterViewControllerDidFinish时得到“主机取消扩展名”?

时间:2019-08-07 20:34:09

标签: ios swift sprite-kit game-center game-center-leaderboard

(swift,spritekit)

嗨,
Gamecenter可以正常工作,可以添加分数,等等。排行榜显示正常,当我按“完成”时,它被关闭,应用程序也不会崩溃,我可以继续玩,但是当我按完按钮时,我也确实收到错误消息(即使一切似乎都正常):

  

错误]扩展请求已取消,但出现以下错误:错误Domain = NSExtensionErrorDomain代码= -2“扩展被主机取消。 UserInfo = {NSLocalizedDescription =扩展名已被主机取消。}

我在我的gameviewcontroller中对玩家进行了身份验证,效果很好。排行榜显示如下,并从我的主要GameScene中解雇:

import SpriteKit
import GameplayKit
import GameKit

    class HomeScene: SKScene, GKGameCenterControllerDelegate {

    ....

     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {

            for touch in touches {

              let location = touch.location(in: self)

               if leaderboardNode.contains(location) {

                    let viewControllerVar = self.view?.window?.rootViewController
                    let gKGCViewController = GKGameCenterViewController()
                    gKGCViewController.gameCenterDelegate = self
                    viewControllerVar?.present(gKGCViewController, animated: true, completion: nil)
                  }

              }

        }

        func gameCenterViewControllerDidFinish(_ gameCenterViewController: GKGameCenterViewController) {
            gameCenterViewController.dismiss(animated: true, completion: nil)
        }

    }

有人知道吗?为什么我收到此消息?

更新: 尝试将其放在视图控制器中,并且一切正常,没有错误消息,但是当我将其放回游戏场景中时,它仍然存在,因此我需要从游戏场景中显示排行榜。

0 个答案:

没有答案