Я реализую игровой центр реального времени в своей игре, и у меня есть проблема с представлением GKMatchmakerViewController
. Вот моя ситуация:Как представить GKMatchmakerViewController представленному контроллеру представления?
Существует HomeViewController, в котором я представляю
GameViewController
со следующим кодом:GameViewController *gameViewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil]; gameViewController.delegate = self; [self presentViewController:gameViewController animated:NO completion:nil];
Тогда в
GameViewController
я включаюGCHelper
и позвонить в игровой центр, чтобы начать матч:-(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[GCHelper sharedInstance] authenticateLocalUser]; [[GCHelper sharedInstance] findMatchWithMinPlayers:2 maxPlayers:2 viewController:self delegate:(id)self]; }
И проблема в том, что это небольшое предупреждение от игрового центра, что я снова вернулся:
но большое окно игрового центра не отображается. Я уверен, что проблема в том, что я представляю GameViewController
.
Как я могу это решить?
UPDATE:
Когда я пытаюсь вызвать Game Center в HomeViewConroller, все работает отлично.
UPDATE 2 (пробовал): Я пытался в GCHelper вместо:
[presentingViewController presentViewController:mmvc animated:YES completion:nil];
использование:
AppDelegate * appdelegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
[appdelegate.homeViewController presentViewController:mmvc animated:YES completion:nil];
, но затем я получаю сообщение об ошибке: чей вид не в окне иерархия! не
фактически логин показывает, когда вы не войти в систему игры, согласно графику вы уже авторизоваться –
Правильно, но с этим кодом должен быть показан игровой центр: [[GCHelper sharedInstance] findMatchWithMinPlayers: 2 maxPlayers: 2 viewController: self delegate: (id) self]; – CroiOS
Я отправляю весь код –