2015-04-22 5 views
0

Я получаю эту ошибку в журнале отладки каждый раз, когда запускаю приложение. Я нажимаю кнопку «Найти игру», она выводит меня на главный экран, клавиатура не работает из-за этой ошибки, и когда я нажимаю кнопку «Назад», контроллер просмотра просто выскакивает (опять же из-за этой ошибки). Я не могу понять, как это исправить, поэтому любая помощь будет очень признательна. Благодарю.Попытка представить GameViewController на ViewController, который ждет отложенного представления GKTurnBasedMatchmakerViewController для завершения

// A peer-to-peer match has been found, the game should start 
- (void)turnBasedMatchmakerViewController: (GKTurnBasedMatchmakerViewController *)viewController didFindMatch:(GKTurnBasedMatch *)match 
{ 

// Display default view [presentingViewController dismissViewControllerAnimated:YES completion:nil]; 

[presentingViewController dismissViewControllerAnimated:YES completion:^{ 
    // Present next controller here 
[presentingViewController performSegueWithIdentifier:@"GamePlayScene" sender:match]; 
}]; 

// Removing line below fixes Warning: Attempt to dismiss from view controller <GameNavigationController: 0x78f4f820> while a presentation or dismiss is in progress! 

// [self dismissModalViewController]; 

ответ

0

В документации GameKit указано, что ваш метод didFindMatch должен отклонить контроллер представления и выполнить необходимые действия для объекта соответствия.

Ваш метод должен выглядеть следующим образом.

- (void)turnBasedMatchmakerViewController: (GKTurnBasedMatchmakerViewController *)viewController didFindMatch:(GKTurnBasedMatch *)match { 
    // Dismiss the view controller 
    [viewController dismissViewControllerAnimated:YES completion:nil]; 
    // Perform your logic 
} 

От GameKit documentation:

Ваша игра должна отклонить контроллер представления и использовать объект соответствия , чтобы показать текущее состояние матча игроку.

+0

По-прежнему та же проблема. '// Отклонить контроллер вида [viewController rejectViewControllerAnimated: YES complete: nil]; // Представьте следующий контроллер здесь [presentingViewController performSegueWithIdentifier: @ «GamePlayScene» отправитель: match]; ' – George

+0

Что такое ваш' presentingViewController'? – Martin

+0

'@interface GameKitHelper: NSObject { UIViewController * presentingViewController; } ' --- Перерыв ---' - (недействительными) findMatchWithMinPlayers: (ИНТ) minPlayers maxPlayers: (ИНТ) maxPlayers ViewController: (UIViewController *) ViewController { presentingViewController = ViewController; "' -break '// Эта строка кода нарушает обратную кнопку на экране игры [presentingViewController presentViewController: mmvc animated: YES завершение: nil]; }' Ни один из моих фактических контроллеров View не называется presentingViewController. – George

 Смежные вопросы

  • Нет связанных вопросов^_^