2014-08-28 118 views
5

我使用苹果的Xcode 6 beta 6上的swift创建了一款游戏,并试图将我的游戏高分添加到gamecenter排行榜。我已经在gamecenter中创建了排行榜。将评分发布到gamecenter排行榜

那么,如何将我保存的NSUserDefault高分添加到我的游戏中心排行榜?

我试着使用:

GKScore.reportScore([highScore], withCompletionHandler: nil) 

,但它只是崩溃。 initLeaderboard func在ios 8中已被弃用,所以我不知道该怎么做。

回答

7

首先,您必须创建GKScore对象。然后你设置gkScore.value。最后,你报告分数。

// if player is logged in to GC, then report the score 
if GKLocalPlayer.localPlayer().authenticated { 
    let gkScore = GKScore(leaderboardIdentifier: "leaderBoardID") 
    gkScore.value = score 
    GKScore.reportScores([gkScore], withCompletionHandler: ({ (error: NSError!) -> Void in 
     if (error != nil) { 
      // handle error 
      println("Error: " + error.localizedDescription); 
     } else { 
      println("Score reported: \(gkScore.value)") 
     } 
    })) 
} 
+0

我实现了这个,这跟Jared Davidson在YouTube上的教程是一样的,但我注意到我的高分并没有相应地更新。 “所有时间”仍然超级未更新,你知道为什么吗?谢谢。 – msqar 2016-11-05 20:09:04

+0

我在一段时间内没有对GameKit做任何事情。不过,我记得沙盒帐户和排行榜存在问题。尝试使用多个沙箱帐户进行测试。当然,确保leaderboardIdentifier是正确的。 – 2016-11-07 19:56:49

+0

谢谢,它现在可以工作,创建一个新的排行榜后,它工作得很好! – msqar 2016-11-07 19:57:34

相关问题