SpriteKit 游戏中心认证

SpriteKit Game Center Authentication

我正在做精灵套件游戏。我在使用 Game Center 时遇到问题:如何验证玩家身份? 在 AppDelegate.swift 我有这个代码:

     func authenticateLocalPlayer()
     {


     var localPlayer = getLocalPlayer() // see GKLocalPlayerHack.h
    localPlayer.authenticateHandler =
        {(viewController : NSViewController?, error : NSError?) -> Void in
            if viewController != nil
            {
                self.presentViewController(viewController!, animated:true, completion: nil)

                        }

但我得到这个错误:

Value of type 'AppDelegate' has no member 'presentViewController'

这一行:

 self.presentViewController(viewController!, animated:true, completion: nil)

我该如何解决这个问题?

我认为你需要使用这样的东西。我不是 100% 确定你为 parentWindow 位设置了什么,我的 OSX 知识有限。

let dialogController = GKDialogController.shared()
dialogController.parentWindow = yourWindow // not exactly sure what you need to set here
dialogController.presentViewController(viewController)

Implementing GameKit.framework on OSX, cannot authenticate localPlayer

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/GameKit_Guide/DisplayingGameCenterUserInterfaceElements/DisplayingGameCenterUserInterfaceElements.html

希望对您有所帮助。

我建议使用 viewcontroller ;-) 看我这里的回答就不一一复制了