2014-08-28 81 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