Apple Game Center проверяет актуальность версии приложения перед началом матча? Если нет, то как мне это сделать? - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть игра для iPhone, для которой я хотел бы представить сватовство.Однако, заблаговременно, я не хочу делать обновления и иметь игроков, которые не в курсе матчей с другими игроками.

Скажите, пожалуйста, игровой центр Apple достаточно умен, но если нет, какЯ готовлюсь?

Ответы [ 2 ]

1 голос
/ 16 мая 2012

Вы можете использовать playerGroup, чтобы убедиться, что вы не получаете игроков, которые имеют разные версии приложений. Просто преобразуйте вашу версию в уникальное целое число (например, 1.2 становится 102) и поместите ее в свойство playerGroup вашего GKMatchRequest.

Тогда только игры с одинаковой группой игроков (= версия) сопоставляются друг с другом.

Обратите внимание, что вы на самом деле не уверены, что более старые версии не совпадают друг с другом (что в любом случае было бы плохой политикой), но вы можете по крайней мере предотвратить игры между разными версиями.

Для получения дополнительной информации см. Расширенные темы по организации матчей в http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html

Редактировать: Apple недавно добавила многопользовательскую совместимость в Game Center. Нажмите на свое приложение и установите версии, с которыми эта игра совместима. Это также работает для игровых пакетов с группами игровых центров.

0 голосов
/ 01 февраля 2011

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

Примерно так:

NSString *versionString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.myurl.com/latestversion.txt"] encoding:NSUTF8StringEncoding error:&error];

if(GAME_VERSION != [versionString floatValue])
{
  //the latest version did not match the game version
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...