Как принять приглашение в Game Center

Я пытаюсь внедрить приглашения с помощью Game Center и есть одна вещь, которую я не понимаю. Хорошо, я отправил приглашение с одного устройства на другое. Затем у меня есть UIAlertView на приемнике, который спрашивает меня, хочу ли я принять или отклонить приглашение. когда я его принимаю, он обрабатывается следующим образом:

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) 
                 {
                     // Insert application-specific code here to clean up any games in progress.
                     if (acceptedInvite)
                     {
                         GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
                         mmvc.matchmakerDelegate = self;
                         [presentingViewController presentModalViewController:mmvc animated:YES];
                     }
                     else if (playersToInvite)
                     {
                         GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
                         request.minPlayers = 2;
                         request.maxPlayers = 4;
                         request.playersToInvite = playersToInvite;

                         GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];
                         mmvc.matchmakerDelegate = self;
                         [presentingViewController presentModalViewController:mmvc animated:YES];

                     }
                 };

Ну, это здорово, но что дальше? устройство-отправитель, очевидно, ожидает какого-то стандартного ответа, потому что оно также показывает предупреждение о том, что на некоторые приглашения еще не ответили, если я нажму «Играть сейчас».

Итак, как мне принять приглашение? Какие данные (и как) я должен отправить обратно? И что именно я должен сделать на стороне получателя? Должна ли игра запускаться сразу после нажатия «Принять» или мне следует сначала закрыть AlertView, а затем нажать «Играть сейчас»?

В руководстве Рэя Вендерлихаговорится, что я должен выбрать второй способ, но когда я отклоняю предупреждение и нажимаю «Играть сейчас», оказывается, что отправляющее устройство все еще ожидает ответа и не знает, что я уже принял приглашение. если я нажму «Играть сейчас» в этот момент, то, как я уже сказал выше, появится предупреждение, в котором говорится, что приложение ожидает ответа. Так что, если вы когда-либо делали это, пожалуйста, объясните мне, что мне делать.Спасибо!

6
задан Andrey Chernukha 10 June 2012 в 17:06
поделиться