Game Center приглашает друзей программно - PullRequest
4 голосов
/ 07 ноября 2010

Мне трудно пригласить друга на матч.

GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease]; 
    request.minPlayers = 2;
    request.maxPlayers = 2;
    request.playersToInvite = [NSArray arrayWithObjects: @"G:1102359306",nil ];


//  GKMatchmakerViewController *mv = [[GKMatchmakerViewController alloc] initWithMatchRequest:request];
//  [self presentModalViewController:mv animated:YES];


    [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) {
        if (error) {
            NSLog([error description]);
        }
        else if (match != nil) {NSLog(@"good match");
            //self.chatMatch = match;
            //self.chatMatch.delegate = self;       
            //[self chatReady];
        }
        else {
            NSLog(@"other error");
        }

    }];

Проблема в том, что я никогда не получаю уведомление о приглашении на втором устройстве, зарегистрированном в учетной записи - G: 1102359306. Когда я использую GKMatchmakerViewController (раскомментируйте выше 2 строки) и комментирую блок GKMatchmaker, я автоматически проверяю хорошего друга - G: 1102359306, и когда я приглашаю его, отображается уведомление с подтверждением / отклонением, поэтому я знаю, что это правильно.

Видите ли вы что-то не так с кодом выше? Я хочу использовать свой собственный интерфейс для работы в многопользовательском режиме. Странная проблема в том, что я также не вижу в консоли каких-либо журналов с хорошим соответствием / другой ошибкой, и [описание ошибки] выводится только тогда, когда я вызываю вышеуказанный код дважды - это говорит о том, что предыдущий запрос был отменен.

1 Ответ

2 голосов
/ 03 июня 2012

Вы не можете программно пригласить определенный набор игроков на матч.В документации findMatchForRequest:withCompletionHandler: говорится следующее:

Свойство playersToInvite запроса на совпадение игнорируется;чтобы пригласить на матч определенный набор игроков, вы должны отобразить контроллер представления сватовства.

Не существует общедоступного API, который делает то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...