gpt4 book ai didi

ios - iOS 9.2 上的游戏中心崩溃应用程序

转载 作者:行者123 更新时间:2023-11-29 01:13:06 26 4
gpt4 key购买 nike

我在 Xcode 上收到了一些关于 iOS 9.2.1 的崩溃报告,我的应用程序在以下行崩溃。

gameSettings.setHighScore(localPlayerScore!.value, highScore: gameSettings.getHighScore())

该行是我的 GameViewController 中以下方法的一部分

func syncGameCenterHighScore() {
if GKLocalPlayer.localPlayer().authenticated == true {
let leaderBoardRequest = GKLeaderboard()
leaderBoardRequest.identifier = "game"

leaderBoardRequest.loadScoresWithCompletionHandler { (scores, error) -> Void in
if (error != nil) {
print("Error: \(error!.localizedDescription)")
} else if (scores != nil) {
let localPlayerScore = leaderBoardRequest.localPlayerScore
gameSettings.setHighScore(localPlayerScore!.value, highScore: gameSettings.getHighScore())
}
}
}
}

游戏设置 getHighScore()

func getHighScore() -> Int64 {
return NSUserDefaults.standardUserDefaults().objectForKey("highScore")?.longLongValue ?? 0
}

我一直无法重现这个问题。我试过了:

  • 登录 Game Center 之前没有得分
  • 退出 Game Center 之前没有得分
  • 登录游戏中心之前的得分
  • 退出游戏中心之前的分数
  • 新游戏 Game Center 帐户之前没有得分。

我认为问题可能出在我的 getHighScore() 方法上,它无法转换为 int64。

最佳答案

我会使用可选绑定(bind)(或您喜欢的任何内容)摆脱那个强制解包的 localPlayerScore 变量,然后看看您是否仍然遇到问题。

我不熟悉 Game Center,除非您检查的 scores 变量与 leaderBoardRequest.localPlayerScore 相同,否则在某些情况下您的 localPlayerScore 可能会返回 nil。就像之前可能从未在设备上运行过应用程序一样?

关于ios - iOS 9.2 上的游戏中心崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com