Я работаю над пошаговой игрой Game Kit. Я делаю собственный пользовательский интерфейс для матчей, в которых участвует игрок. Я получаю матчи, используя
loadMatchesWithCompletionHandler:
Существует вариант использования, когда пользователь находится в матче, это не его ход, и он хочет выйти и больше не видеть этот матч в списке игр. Мой код вызывает
participantQuitOutOfTurnWithOutcome:withCompletionHandler:
и удаляет строку из табличного представления.
В этот момент другой игрок получает ход и видит, что его противник сдался.
match.remoteParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit
поэтому они заканчивают игру вызовом
endMatchInTurnWithMatchData:completionHandler:
Проблема в том, что игра все еще существует в Game Center. Так зовет
loadMatchesWithCompletionHandler:
в приложении первого игрока потянет его вниз и отобразит в таблице игр.
Единственное решение, которое я могу придумать, - это сохранить идентификатор совпадения и черный список, которые соответствуют из таблицы. Кажется немного неуклюжим.
Похоже, для этого нет API. т.е. выйти и удалить совпадение с моим списком совпадений. Есть ли лучший способ справиться с этой ситуацией только с помощью API Game Center?