2015-10-18 4 views
1

прямо сейчас Я закончил с созданием своей игры, и все, что мне нужно добавить, это купить приложения и списки лидеров, а чтобы не испортить ничего, m делать это с помощью тестового приложения. моя панель лидеров теперь показывает, и хотя я вошел в игровой центр при тестировании (как на реальном устройстве, так и на симуляторе), я получаю «нет баллов» при просмотре таблицы лидеров. но мой код в порядке, я просматривал документацию по яблоку и другие учебники в течение нескольких дней. но все учебники устарели, а документация на яблоках очень неясна в отношении некоторых конкретных вещей. но я думаю, что мой код нормально:Лидер игрового центра не работает («нет баллов»)

let HighscoreDefault = NSUserDefaults.standardUserDefaults() 
    if (HighscoreDefault.valueForKey("highScore") != nil){ 

     highScore = HighscoreDefault.valueForKey("highScore") as! NSInteger 
    } 
    else { 

     highScore = 0 
    } 

    if (score > highScore){ 

     let HighscoreDefault = NSUserDefaults.standardUserDefaults() 
     HighscoreDefault.setValue(score, forKey: "highScore") 
     highScore = HighscoreDefault.valueForKey("highScore") as! NSInteger 
     saveScore(score) 
    } 

тот мой счет метод в игре экономии, и это, как я буду загружать его на лидеров:

func saveScore(score: Int){ 
    let player = GKLocalPlayer() 
    if player.authenticated == true { 

     let scoreReporter = GKScore(leaderboardIdentifier: "testingleaderboard101") //leaderboard id here 

     scoreReporter.value = Int64(highScore) //score variable here (same as above) 

     let scoreArray: [GKScore] = [scoreReporter] 

     GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError?) -> Void in 
      if error != nil { 
       print("error") 
      } else { 
       print("reported correctly") 
      } 
     }) 

    } 
} 

я довольно уверен ошибка здесь нет, но я отправляю на всякий случай.

вот что я получаю в регистраторе:.

плагин com.apple.GameCenterUI.GameCenterDashboardExtension УТРАТИТ

+0

Я собираюсь оставить вопрос в том случае, если в моем коде действительно есть ошибка, но я думаю, что рейтинги лидеров игрового центра в настоящее время сломаны/подвергнуты проблеме, потому что все остальные игры у меня (не говоря о моей, из магазина приложений) отображает ту же самую ошибку «не ранжируется», и мой балл не отображается в таблице лидеров. – Hades

ответ

2

я установил его, какая-то ошибка в КСН 9 вызывает GKLocalPlayer() проверку подлинности, чтобы вернуться ложь, даже если игрок находится в системе так и в функции savescore, не проверять, если игрок проходит проверку подлинности

3
let player = GKLocalPlayer() 

должно быть:.

let player = GKLocalPlayer.localPlayer() 

Изучите раздел «Доступ к локальному проигрывателю» в GKLocalPlayer Class Справочная документация библиотеки разработчиков iOS.

Я попытался поместить это в комментарий, но у меня недостаточно очков. Если кто-то с необходимыми привилегиями, пожалуйста, сделайте это.