GameCenter подключение

swift
spritekit

#1

Здравствуйте, никак не получается вывести результат в табличку GameCenter, всегда показывает 0, что делаю не так?

import Foundation
import UIKit
import GameKit
import SpriteKit
import AVFoundation

class gameCenter: SKScene, SKPhysicsContactDelegate, GKGameCenterControllerDelegate {
    var Next1: UIButton!
    var Back1: UIButton!
   var score = Int()
    
    override func didMove(to view: SKView) {
        authPlayer()
        scene?.backgroundColor = UIColor.black
        
        physicsWorld.gravity = CGVector(dx: 0.0,dy: -9.8)
        physicsWorld.speed = 1.0
        physicsWorld.contactDelegate = self
        physicsBody = SKPhysicsBody(edgeLoopFrom: scene!.frame)
        
        self.scene?.size = CGSize(width: self.view!.bounds.size.width, height: self.view!.bounds.size.height)
        
        let background = SKSpriteNode(imageNamed: "MenuSetting")
        background.anchorPoint = CGPoint(x: 0, y: 1)
        background.position = CGPoint(x: 0, y: size.height)
        background.zPosition = -1000
        background.size = CGSize(width: self.view!.bounds.size.width, height: self.view!.bounds.size.height)
        
        Back1 = UIButton(frame: CGRect(origin: CGPoint(x: (self.view?.frame.size.width)! / 2 - 10, y: (self.view?.frame.size.height)! / 2 - 100), size: CGSize(width: 50, height: 50)))
        Back1.setTitle("<", for: UIControlState())
        Back1.titleLabel!.font = UIFont.systemFont(ofSize: 30)
        Back1.setTitleColor(UIColor.white, for: UIControlState())
        Back1.addTarget(self, action: #selector(gameCenter.BackS1), for: UIControlEvents.touchUpInside)
        self.view?.addSubview(self.Back1)

        Next1 = UIButton(frame: CGRect(origin: CGPoint(x: (self.view?.frame.size.width)! / 2 + 100, y: (self.view?.frame.size.height)! / 2 - 100), size: CGSize(width: 50, height: 50)))
        Next1.setTitle(">", for: UIControlState())
        Next1.titleLabel!.font = UIFont.systemFont(ofSize: 30)
        Next1.setTitleColor(UIColor.white, for: UIControlState())
        Next1.addTarget(self, action: #selector(gameCenter.NextS1), for: UIControlEvents.touchUpInside)
        self.view?.addSubview(self.Next1)
        
        let backgroun2 = SKSpriteNode(imageNamed: "12")
        backgroun2.size = CGSize(width: self.view!.bounds.size.width, height: self.view!.bounds.size.height)
        backgroun2.zPosition = 1050
        backgroun2.position = CGPoint(x: frame.midX, y: frame.size.height / 2)
        self.addChild(backgroun2)
    }

    func BackS1(){
        saveHighscore(score)
        showLeaderBoard()
    }
    func NextS1(){
        score += 1
        print("\(score)")
    }

    func authPlayer(){
        let localPlayer = GKLocalPlayer.localPlayer()  
        localPlayer.authenticateHandler = {
            (view, error) in          
            if view != nil {                  
               /// self.present(view!, animated: true, completion: nil)      
            } else {         
                print(GKLocalPlayer.localPlayer().isAuthenticated)    
            }
        }
    }
    
    func saveHighscore(_ number : Int){        
        if GKLocalPlayer.localPlayer().isAuthenticated {   
            let scoreReporter = GKScore(leaderboardIdentifier: "leaderboardID")
            scoreReporter.value = Int64(number)
            let scoreArray : [GKScore] = [scoreReporter]
            GKScore.report(scoreArray, withCompletionHandler: nil)
        }
    }
    
    func showLeaderBoard(){
        let viewController = self.view?.window?.rootViewController
        let gcvc = GKGameCenterViewController()
        gcvc.gameCenterDelegate = self
        
        viewController?.present(gcvc, animated: true, completion: nil)
    }
    
    func gameCenterViewControllerDidFinish(_ gameCenterViewController: GKGameCenterViewController) {
        gameCenterViewController.dismiss(animated: true, completion: nil)
    }
}

#2

Вопрос решен, при создании таблицы допустила ошибку, поставила сортировку по возрастанию, поэтому всегда отображался 0) Код правильный, можете использовать)