游戏中心排行榜不工作(“没有分数”)
现在我完成了我的游戏制作,我需要添加的是应用程序购买和排行榜,并且不会搞乱我用测试应用程序进行的任何操作。 我的排行榜现在正在显示,尽管我在测试时登录了游戏中心(在真实设备和模拟器上),但在查看排行榜时我却没有得分。 但是我的代码很好,我已经经历了几天的苹果文档和其他教程。 但所有的教程都过时了,并且苹果文档在某些特定的事情上很不清楚。 但我认为我的代码很好:
let HighscoreDefault = NSUserDefaults.standardUserDefaults()
if (HighscoreDefault.valueForKey("highScore") != nil){
highScore = HighscoreDefault.valueForKey("highScore") as! NSInteger
}
else {
highScore = 0
}
if (score > highScore){
let HighscoreDefault = NSUserDefaults.standardUserDefaults()
HighscoreDefault.setValue(score, forKey: "highScore")
highScore = HighscoreDefault.valueForKey("highScore") as! NSInteger
saveScore(score)
}
这是我在比赛中的分数节省方法,这就是我将它上传到排行榜的方式:
func saveScore(score: Int){
let player = GKLocalPlayer()
if player.authenticated == true {
let scoreReporter = GKScore(leaderboardIdentifier: "testingleaderboard101") //leaderboard id here
scoreReporter.value = Int64(highScore) //score variable here (same as above)
let scoreArray: [GKScore] = [scoreReporter]
GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError?) -> Void in
if error != nil {
print("error")
} else {
print("reported correctly")
}
})
}
}
我很确定这个错误不在这里,但是我只是为了防万一而发布。
这里是我在记录器中得到的东西:
插件com.apple.GameCenterUI.GameCenterDashboardExtension已失效
let player = GKLocalPlayer()
应该:
let player = GKLocalPlayer.localPlayer()
检查iOS Developer Library的GKLocalPlayer类参考文档中的“访问共享本地播放器”部分。
我试图把这个评论,但我没有足够的观点。 具有必要特权的人请这样做。
我修正了它,在ios 9中的一些错误导致GKLocalPlayer()。即使玩家登录也会返回false。所以在savedcore函数中,不要检查玩家是否被认证
链接地址: http://www.djcxy.com/p/68235.html