使用swift验证GameKit本地播放器

时间:2014-06-04 13:06:37

标签: authentication block gamekit swift

我希望将游戏迁移到swift,我唯一遇到的问题是阻塞/关闭。这是我不理解的语法,而在Objective C中我会使用:

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
    if (viewController != nil) {
        [self presentViewController:viewController animated:YES completion:nil];
    }
}

etc.etc。但我不确定如何在Swift中做同样的事情。我知道这很简单,但我无法让它工作,即使在阅读了Swift书并自己搜索答案之后。我只是一个业余爱好者程序员,所以我对这一切都远非完美。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:9)

这就是你在Swift中的表现:

var localPlayer = CGLocalPlayer.localPlayer()
localPlayer.authenticateHandler = {(viewController : UIViewController!, error : NSError!) -> Void in
    //handle authentication
}

可以找到关闭文档here

答案 1 :(得分:4)

这是您使用Xcode 6.1 +在Swift中进行身份验证的方式:

    var localPlayer = GKLocalPlayer.localPlayer()
    localPlayer.authenticateHandler = {(viewController : UIViewController!, error : NSError!) -> Void in
        if ((viewController) != nil) {
            self.presentViewController(viewController, animated: true, completion: nil)
        }else{

            println((GKLocalPlayer.localPlayer().authenticated))
        }
    }