Обработка отмены в контроллере GKMatchmakerviewcontroller

Я делаю многопользовательскую функцию для игры, которую я сделал.

Все работает, за исключением случаев, когда я участвую в сватовстве, и оба игрока подключены, если один человек нажимает кнопку «Отмена», другое устройство не получает уведомления об отмене.

На другом устройстве слова меняются, чтобы сказать «Отключено», однако ни один из методов делегата не вызван.

Как я могу справиться с этим?

Вы должны реализовать протокол GKMatchmakerViewControllerDelegate .

К сожалению, нет метода (который я знаю или могу найти с почти 3 месяцами изучения), который называется, когда один человек отключается в сватовстве после того, как они начали подключаться.

Таким образом, способ, которым я обходился, – это когда GameViewController представлен, он ждет одну секунду, а затем вызывает метод проверки, чтобы убедиться, что он связан с кем-то другим.

Для этого у меня есть так, что, как только игра начинается, каждый игрок отправляет другому игроку случайное число (используемое позже для определения несвязанных настроек – например, кто будет первым). Когда он вызывает метод, чтобы проверить, подключен ли он, он просто проверяет, назначено ли случайное число. Если это так, то он начинает игру как обычно, если нет, она заканчивает игру и возвращается в меню.

Давайте будем гением компьютера.