(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)
}
}
有人知道吗?为什么我收到此消息?
更新: 尝试将其放在视图控制器中,并且一切正常,没有错误消息,但是当我将其放回游戏场景中时,它仍然存在,因此我需要从游戏场景中显示排行榜。