游戏中心不保存分数
Game Center Not Saving Scores
Game Center 曾经在我制作的另一个应用程序中完美运行。然而,我现在的那个奇怪的事情已经发生了大约两周。
上传和下载都没有报错,我可以看到我的分数很好。但是如果我停止玩我的游戏然后 6 小时后回来,我的分数就不再存在于游戏中心。我的意思是,完全没有分数。从 6 小时前可用的游戏中心下载现在无法检索我的分数。
游戏中心状态为实时。我可以在 "manage score" 部分看到我的分数和其他分数。但是,除了我在 GKGameCenterViewController
.
的排行榜中的分数外,我什么也看不到。
就我而言,一切都已正确配置。应用程序功能中的 Game Center 已开启。
显示排行榜的代码:
func showLeaderBoard() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {
self.present(authenticationViewController!, animated: true, completion: nil)
return
}
let gamecenter = GKGameCenterViewController()
gamecenter.gameCenterDelegate = self
gamecenter.viewState = .leaderboards
gamecenter.leaderboardIdentifier = leaderBoardID
present(gamecenter, animated: true, completion: nil)
}
乐谱下载代码:
func downloadBestScoreFromGameCenter() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {return}
print("Downloading Score...")
let leaderBoard = GKLeaderboard()
leaderBoard.identifier = leaderBoardID
leaderBoard.loadScores(completionHandler: {
[unowned self] (scores, error) in
print("Download Error: \(error)")
scores?.forEach({print("\([=11=].player?.displayName!) \([=11=].value)")})
if let localPlayerScore = leaderBoard.localPlayerScore?.value {
self.bestScore = Int(localPlayerScore)
self.saveGameForCurrentState()
} else {
self.bestScore = 0
}
})
}
正在上传
func uploadBestScoreToGameCenter() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {return}
let scoreItem = GKScore(leaderboardIdentifier: leaderBoardID)
scoreItem.value = Int64(self.bestScore)
GKScore.report([scoreItem], withCompletionHandler: {
(error) in
if let error = error {
print(error)
} else {
print("Upload complete: \(scoreItem.value)")
}
})
}
好的,今天排行榜开始运行了。我想你只需要等人。
Game Center 曾经在我制作的另一个应用程序中完美运行。然而,我现在的那个奇怪的事情已经发生了大约两周。
上传和下载都没有报错,我可以看到我的分数很好。但是如果我停止玩我的游戏然后 6 小时后回来,我的分数就不再存在于游戏中心。我的意思是,完全没有分数。从 6 小时前可用的游戏中心下载现在无法检索我的分数。
游戏中心状态为实时。我可以在 "manage score" 部分看到我的分数和其他分数。但是,除了我在 GKGameCenterViewController
.
就我而言,一切都已正确配置。应用程序功能中的 Game Center 已开启。
显示排行榜的代码:
func showLeaderBoard() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {
self.present(authenticationViewController!, animated: true, completion: nil)
return
}
let gamecenter = GKGameCenterViewController()
gamecenter.gameCenterDelegate = self
gamecenter.viewState = .leaderboards
gamecenter.leaderboardIdentifier = leaderBoardID
present(gamecenter, animated: true, completion: nil)
}
乐谱下载代码:
func downloadBestScoreFromGameCenter() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {return}
print("Downloading Score...")
let leaderBoard = GKLeaderboard()
leaderBoard.identifier = leaderBoardID
leaderBoard.loadScores(completionHandler: {
[unowned self] (scores, error) in
print("Download Error: \(error)")
scores?.forEach({print("\([=11=].player?.displayName!) \([=11=].value)")})
if let localPlayerScore = leaderBoard.localPlayerScore?.value {
self.bestScore = Int(localPlayerScore)
self.saveGameForCurrentState()
} else {
self.bestScore = 0
}
})
}
正在上传
func uploadBestScoreToGameCenter() {
if GKLocalPlayer.localPlayer().isAuthenticated == false {return}
let scoreItem = GKScore(leaderboardIdentifier: leaderBoardID)
scoreItem.value = Int64(self.bestScore)
GKScore.report([scoreItem], withCompletionHandler: {
(error) in
if let error = error {
print(error)
} else {
print("Upload complete: \(scoreItem.value)")
}
})
}
好的,今天排行榜开始运行了。我想你只需要等人。