如何快速认证本地玩家? [英] How authenticate a local player with swift?
本文介绍了如何快速认证本地玩家?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将游戏中心集成到我的游戏中并创建排行榜.
I'm trying to integrate game center to my game and create a leaderboard.
我已经在iTunes Connect上创建了排行榜,启用了游戏中心并创建了沙箱测试器.
I already create the leaderboard on iTunes Connect, enable the game center and create a sandbox tester.
尽管我有这个错误:
not able to authenticate fail
error is nil
not able to authenticate fail
error is nil
这是我的错误println(请参阅我的代码)
This is my error println (see my code)
我错过了什么吗?
这是我的gameViewController的代码:
Here the code of my gameViewController:
import UIKit
import SpriteKit
import AVFoundation
import iAd
import GameKit
var defaults = NSUserDefaults()
var highscore = defaults.integerForKey("highscore")
class GameViewController: UIViewController, ADBannerViewDelegate, GKGameCenterControllerDelegate {
var adBannerView: ADBannerView!
var leaderboardIdentifier: String? = nil
var gameCenterEnabled: Bool = false
override func viewDidLoad() {
super.viewDidLoad()
var skView = self.originalContentView as SKView
var scene:SKScene = GameScene(size: skView.bounds.size)
skView.presentScene(scene)
loadAds()
}
func authenticateLocalPlayer()
{
var localPlayer = GKLocalPlayer()
localPlayer.authenticateHandler =
{ (viewController : UIViewController!, error : NSError!) -> Void in
if viewController != nil
{
self.presentViewController(viewController, animated:true, completion: nil)
}
else
{
if localPlayer.authenticated
{
self.gameCenterEnabled = true
localPlayer.loadDefaultLeaderboardIdentifierWithCompletionHandler
{ (leaderboardIdentifier, error) -> Void in
if error != nil
{
print("error")
}
else
{
self.leaderboardIdentifier = leaderboardIdentifier
println("\(self.leaderboardIdentifier)") //in your example "VHS" should be returned
}
}
}
else
{
println("not able to authenticate fail")
self.gameCenterEnabled = false
if (error != nil)
{
println("\(error.description)")
}
else
{
println( "error is nil")
}
}
}
}
}
推荐答案
我自己解决.
对此进行编码:var localPlayer = GKLocalPlayer.localPlayer()
而不是:var localPlayer = GKLocalPlayer()
这篇关于如何快速认证本地玩家?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文