我正在尝试在游戏中心报告我的最高分。我认为我的代码可以正常工作,但游戏中心的评分却没有更新。
创建的排行榜的引用名称为:“funfairBalloon”,并且此排行榜的ID为:55000943。
我有3位沙盒测试员,启用了游戏中心,并且在游戏中心对玩家进行了身份验证。

我的身份验证和报告代码是:

func authenticateLocalPlayer()
{
    var localPlayer = GKLocalPlayer.localPlayer()

    localPlayer.authenticateHandler =
        { (viewController : UIViewController!, error : NSError!) -> Void in
            if viewController != nil
            {
                self.presentViewController(viewController, animated:true, completion: nil)
            }
            else
            {
                if GKLocalPlayer.localPlayer().authenticated {
                    let gkScore = GKScore(leaderboardIdentifier: "55009943")
                    gkScore.value = Int64(highscore)
                    GKScore.reportScores([gkScore], withCompletionHandler: {(error) -> Void in
                        let alert = UIAlertView(title: "Success",
                            message: "Score updated",
                            delegate: self,
                            cancelButtonTitle: "Ok")
                            alert.show()
                        })
                }
             }
        }
}

你有好主意吗?

最佳答案

最佳做法是将您的应用ID添加到页首横幅标识符。在此之前,我很难让它无法正常工作。您可能遇到了同样的麻烦。创建一个名为“com.whateverName.55009943”的测试排行榜,并更新您的代码。看看那是否对我有用。

如果您要对沙盒测试人员使用Test Flight,请确保也将其添加到iTunes connect中。

最后,此link应该可以帮助您解决如果遵循上述建议,为什么看不到任何人出现在排行榜上的问题。

关于iphone - 如何 swift 报告游戏中心的高分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27304035/

10-14 20:59