Окончательный ответ на то, для чего предназначено PlayersToInvite - PullRequest
1 голос
/ 18 октября 2010

В документации Game Center указано, что

playersToInvite параметр не ноль когда ваше приложение запускается прямо из игрового центра приложение для размещения матча.

Несколько человек спросили, как это работает, то есть, похоже, нет способа выбрать друга из приложения Game Center и пригласить его сыграть в из Game Center; это работает только когда вы приглашаете в игру. Эта документация устарела или есть секретный способ начать игровой матч из Game Center? Я хотел бы проверить свой inviteHandler, но я не смог определить, как этот параметр передается в приложение.

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite)
{
    // clean up games in progress here
    if (acceptedInvite)
    {
        NSLog(@"acceptedInvite %@", acceptedInvite);
        // The acceptedInvite parameter is non-nil when the application receives an 
        // invitation directly from another player.
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self disableHomeUI];
        [self presentModalViewController:mmvc animated:YES];
    }
    else if (playersToInvite)
    {
        NSLog(@"playersToInvite %@", playersToInvite);
        // playersToInvite parameter is non-nil when your application is launched 
        // directly from the Game Center application to host a match
        [self disableHomeUI];
        [self doPresentMatchMakerUIWithPlayersToInvite:playersToInvite];
    }
};

Ответы [ 4 ]

1 голос
/ 05 марта 2014

Там - это теперь способ использовать приложение Game Center, чтобы пригласить друга Game Center.Он работает ТОЛЬКО если ваша игра вызывает registerListener: на localPlayer GKPlayer:

Приложение Game Center -> вкладка игры -> ваша игра -> раздел игроков -> выберите игрока -> «Играть в игру»

Это отправит push-уведомление о приглашении другому игроку.Игра не должна быть запущена на любом устройстве.По состоянию на iOS7.

Этот процесс также работает: приложение Game Center -> вкладка друзей -> нажмите на друга -> нажмите общую игру (вашу игру) -> нажмите «...» в правом верхнем углу ->нажмите «Play»

1 голос
/ 09 ноября 2010

После запуска моего приложения Cee-lo в производство, код playersToInvite стал активным.Похоже, это связано с тем, что версия приложения Game Center для Sandbox сама по себе не позволяет вам начать игру с игроком, а в рабочей версии.Не очень хорошая тестовая среда, если вы спросите меня!

1 голос
/ 20 октября 2010

Я думаю, что документы не отражают текущее состояние дел. Насколько я могу судить, приложение Game Center в настоящее время даже не предлагает интерфейса для приглашения друзей в игру.

Также проверьте форумы разработчиков (видимо у вас;)). Кто-то из Купертино, кажется, думает, что это невозможно. Итак ...

0 голосов
/ 30 июня 2011

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

Мне удалось использовать 2 или более айфона, запущенных в песочнице, чтобы пригласить на игру определенных друзей, и это прекрасно сработало для отладки фрагмента кода обработчика приглашения.

В качестве другого автораКак уже упоминалось, в настоящее время, похоже, нет способа пригласить определенных друзей поиграть в определенную игру из Game Center.

Счастливых игр!

...