游戏中心排行榜不工作(“没有分数”)
Posted
技术标签:
【中文标题】游戏中心排行榜不工作(“没有分数”)【英文标题】:game center leaderboard not working ("no scores") 【发布时间】:2015-10-18 16:16:25 【问题描述】:现在我已经完成了我的游戏制作,我需要添加的是应用内购买和排行榜,为了不搞乱我正在使用测试应用做的任何事情。我的排行榜现在正在显示,即使我在测试时(在真实设备和模拟器上)登录到游戏中心,查看排行榜时我也会得到“无分数”。但我的代码很好,我已经浏览了苹果文档和其他教程好几天了。但是所有的教程都已经过时了,苹果的文档在一些具体的事情上也很不清楚。但我认为我的代码很好:
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 无效
【问题讨论】:
我会继续提出问题,以防我的代码确实有错误,但我认为游戏中心的排行榜目前已损坏/遇到问题,因为我拥有的所有其他游戏(不是在谈论我的,来自应用商店的)显示完全相同的错误“未排名”,我的分数没有显示在排行榜上。 【参考方案1】:let player = GKLocalPlayer()
应该是:
let player = GKLocalPlayer.localPlayer()
检查 ios 开发人员库的 GKLocalPlayer 类参考文档中的“访问共享本地播放器”部分。
我试图把它放在评论中,但我没有足够的分数。请有必要特权的人这样做。
【讨论】:
【参考方案2】:我已修复,ios 9 中的一些错误导致 GKLocalPlayer().authenticated 即使玩家已登录也会返回 false。所以在 savescore 函数中,不要检查玩家是否已通过身份验证
【讨论】:
以上是关于游戏中心排行榜不工作(“没有分数”)的主要内容,如果未能解决你的问题,请参考以下文章