Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 3游戏中心排行榜不保存分数值_Ios_Xcode_Swift3_Sprite Kit_Leaderboard - Fatal编程技术网

Ios Swift 3游戏中心排行榜不保存分数值

Ios Swift 3游戏中心排行榜不保存分数值,ios,xcode,swift3,sprite-kit,leaderboard,Ios,Xcode,Swift3,Sprite Kit,Leaderboard,我有一个问题,请帮助我理解这个主题。老实说,我已经花了好几天的时间研究这个话题,但它还不起作用 在SpriteKit上有一个简单的游戏,Swift 3 我正在尝试实施排行榜游戏中心 iTunes Connect已经设置,排行榜已经创建,测试用户已经创建 当我开始游戏时,用户按他们应该的方式登录。显示已创建的棋盘的按钮,我可以在游戏中心打开我的排行榜 问题是排行榜中得分的值没有更新 我的游戏分数存储在变量“score”中 在GameSecene.swift中,我有两个保存和覆盖的功能: func

我有一个问题,请帮助我理解这个主题。老实说,我已经花了好几天的时间研究这个话题,但它还不起作用

在SpriteKit上有一个简单的游戏,Swift 3

我正在尝试实施排行榜游戏中心

iTunes Connect已经设置,排行榜已经创建,测试用户已经创建

当我开始游戏时,用户按他们应该的方式登录。显示已创建的棋盘的按钮,我可以在游戏中心打开我的排行榜

问题是排行榜中得分的值没有更新

我的游戏分数存储在变量“score”中 在GameSecene.swift中,我有两个保存和覆盖的功能:

func saveHighscore(gameScore: Int) {
        if GKLocalPlayer.localPlayer().isAuthenticated {
        print("\n Success! Sending highscore of \(score) to leaderboard")
        let scoreReporter = GKScore(leaderboardIdentifier: “MY_ID_THERE”)
        scoreReporter.value = Int64(gameScore)
        let scoreArray: [GKScore] = [scoreReporter]
        GKScore.report(scoreArray, withCompletionHandler: {error -> Void in
            if error != nil {
                print("An error has occured: \(String(describing: error))")
            }
        })
    }
}


 func overrideHighestScore(gameScore: Int) {
    UserDefaults.standard.integer(forKey: "highestScore")
    if gameScore > UserDefaults.standard.integer(forKey: "highestScore") {
        UserDefaults.standard.set(gameScore, forKey: "highestScore")
        UserDefaults.standard.synchronize()
        saveHighscore(gameScore: score)
        print(score.hashValue)
    }
}
当我按下按钮时,我调用这两个函数

saveHighscore (gameScore: score)

overrideHighestScore (gameScore: score)
控制台正确显示输出,例如,当收集五个点时,输出将是一条消息,称为:

Success! Sending the highscore of 5 to the leaderboard
但是游戏中心中的可变分数的值不会被发送,并且在第一次访问棋盘时会获得零值

我真的希望得到你的帮助

真诚地,
Eugene.

我希望您在

请参阅下面的屏幕



另请参阅下面的代码以保存排行榜上的分数

func saveScoreOnGameCenter()
{
    let leaderboardID = 111
    let sScore = GKScore(leaderboardIdentifier: leaderboardID)
    sScore.value = Int64(10)

    GKScore.reportScores([sScore], withCompletionHandler: { (error: NSError?) -> Void in
        if error != nil {
            print(error!.localizedDescription)
        } else {
            print("Score submitted")

        }
    })
}


希望这能帮你解决问题。

嘿,尤金,今年早些时候我和你经历过同样的情况。我联系了苹果的技术支持部门,这似乎是他们的错误。和你一样,排行榜在几天后不会更新。我建议您联系Apple iTunes Connect。他们应该能够修复它。