2014-12-30 2 views
0

Я реализовал GameKit с достижениями и лидерами в своей игре. Я тестировал оба, и они, похоже, работают. Но для того, чтобы проверить их с самого начала (я сделал несколько тестов по испытаниям и ошибкам), есть ли способ начать снова полностью стирать оба? Я попытался удалить приложение из приложения GameCenter симулятора/телефона, но когда я снова вхожу в систему и зарегистрирую приложение iOS в GameCenter, все снова появляется. Кроме того, я реализовал одно достижение, которое может быть достигнуто более чем одним. Это достижение дает 50 очков. На самом деле я могу достичь этого больше, чем в игре, на самом деле я получаю всплывающее окно каждый раз. Однако в списке достижений я могу видеть только 50 очков и не более, возможно? Может быть, я не понял смысла достижима больше, чем те ..Как правильно проверить достижения игрового центра

EDIT: Я пытаюсь решить эту проблему с помощью следующего метода

func resetAchievements() { 
    // Clear all progress saved on Game Center 
    GKAchievement.resetAchievementsWithCompletionHandler() {(error) in 
     self.lastError = error 
    } 

} 

Но это работает только тогда, когда я установить приложение в устройстве, а не в Simulator, почему? Возможно, потому что я не понимаю, руководство в компании Apple

class func resetAchievementsWithCompletionHandler(_ completionHandler: ((NSError!) -> Void)!) 
+0

тестирование и перезагрузка игрового центра покрывается соответствующими игровыми центрами/itunes connect guide. Для остальных отправьте свой код. – LearnCocos2D

ответ

1

Ниже будут сброшены все достижения ваш местный игрок заработал. Вы не можете зарабатывать достижение более одного раза, то, что вы делаете, публикует окончательное значение снова и снова, которое показывает вам предупреждение о завершении. Заработанный более чем один раз вариант позволяет вам принимать вызовы от друзей в этом достижении. Я рекомендую снова прочитать руководство по внедрению, поскольку оба этих вопроса подробно обсуждаются.

[GKAchievement resetAchievementsWithCompletionHandler: ^(NSError *error) 
     { 
      if(error == NULL) 
      { 
       NSLog(@"Achievements have been reset"); 

      } 
      else 
      { 
       NSLog(@"There was an error in resetting the achievements: %@", [error localizedDescription]); 
      } 
     }]; 
+0

Таким образом, вариант «достижимый» больше, чем тот, который я не думал. Где я могу найти полные и понятные рекомендации по GameCenter? – Nicholas

+1

не могли бы вы разместить решение в «swift», так как я спрашиваю этот язык, а не ObjC? благодаря – Nicholas