Ios 游戏中心身份验证处理程序视图控制器始终为零

Ios 游戏中心身份验证处理程序视图控制器始终为零,ios,swift,sprite-kit,game-center,appdelegate,Ios,Swift,Sprite Kit,Game Center,Appdelegate,我正在尝试建立一个快速精灵套件游戏的游戏中心。以下是在我的应用程序代理中完成的 func authenticateLocalPlayer(){ let localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer() localPlayer.authenticateHandler = {(viewController : UIViewController!, error : NSError!) -> Void in

我正在尝试建立一个快速精灵套件游戏的游戏中心。以下是在我的应用程序代理中完成的

func authenticateLocalPlayer(){
    let localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer()

    localPlayer.authenticateHandler = {(viewController : UIViewController!, error : NSError!) -> Void in
        //handle authentication
        if (viewController != nil){
            self.window?.rootViewController?.presentViewController(viewController, animated: true, completion: nil)
        }
        else{
            if (localPlayer.authenticated){
                gameCenterEnabled = true

                //Get the default leaderboard identifier.
                localPlayer.loadDefaultLeaderboardIdentifierWithCompletionHandler({ (leaderboardIdentifierr: String!, error: NSError!) -> Void in
                    if (error != nil){
                        NSLog("%@", [error.localizedDescription])
                    }
                    else{
                        leaderboardIdentifier = leaderboardIdentifierr
                    }
                })
            }
            else{
                gameCenterEnabled = false
            }

        }
    }
}

我遇到的问题是,localPlayer.authenticateHandler始终返回nil viewController,即使我的本地播放器未经过身份验证。请让我知道我做错了什么,以及如何解决这个问题

我尝试在模拟器中运行我的应用程序,验证窗口显示良好。我不知道为什么我的设备不能正常工作。

我也遇到了同样的问题

尝试从设备中删除应用程序,然后转到游戏中心下的设备设置并启用沙盒


然后在设备上再次运行游戏,它将显示游戏中心登录窗口。

我也会遇到同样的情况。在多个设备上尝试,结果相同。删除应用程序/更改游戏中心设置没有帮助。 不过,您的代码看起来不错。
斯威夫特的通用条款似乎已完全失效。

谢谢。如果没有这个答案,可能永远都不会成功。