Насколько я знаю, это встроенное ограничение Game Center.Я тоже боролся с этим и спрашивал на нескольких форумах, включая Apples devforums, без какого-либо ответа.Я написал отчет об ошибке в Apple и предлагаю вам сделать то же самое.
В качестве обходного пути в моей собственной игре, где у меня есть несколько различных наборов правил, из которых игроки выбирают, и где игроки должны использовать одни и те же правила.чтобы многопользовательские матчи работали, я ставлю «двойную проверку» после того, как игра фактически начинает проверять, что все соблюдают одни и те же правила: на всякий случай, если кого-то пригласили и используют неправильные правила.
Что яВыполнено, как только игра начнется (что вы должны обнаружить в методе didFindMatch GKMatchMakerViewControllerDelegate и в match: player: didChangeState: in GKMatchDelegate ) Я разрешаю игрокам войти в игру, а затем разослать пакеты с правилами, которые они используют, всем остальным игрокам.Когда они получают эти данные, они сопоставляют их со своими собственными правилами, и если кто-то использует неправильные правила, игра выдаст предупреждение и отключит матч.
Это немного уродливо, и очень ясно, чтоApple должна реализовать способ установки GKMatchRequest для GKMatchMakerViewController при инициализации по приглашению.Но, по крайней мере, это работает.