2017-02-14 53 views
0

遊戲中心以前用於完成我完成的另一個應用程序完美。然而,現在大約兩週的時間裏,我現在正在發生奇怪的事情。遊戲中心不保存得分

上傳和下載報告沒有錯誤,我可以看到我的分數很好。但是如果我停止玩我的比賽,然後6小時後回來,我的比分不再存在於遊戲中心。我的意思是,根本沒有得分。從6小時前工作的遊戲中心下載現在無法檢索我的分數。

遊戲中心狀態爲現場。我可以在「管理分數」部分看到我的分數和其他人。然而,除了我在GKGameCenterViewController排行榜上的分數,我什麼都看不到。

就我而言,一切都已正確配置。遊戲中心的應用程序功能已啓用。

代碼顯示排行榜:

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("\($0.player?.displayName!) \($0.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)") 
     } 
    }) 
} 

回答

0

確定了領先現如今工作。我想你只能等人。