私はターン ベースのゲーム キット ゲームに取り組んでいます。プレイヤーが参加する試合のカスタム UI を作成しています。
loadMatchesWithCompletionHandler:
ユーザーが試合に出ていて、自分の番ではなく、ゲームを終了してゲームのリストにその試合が表示されなくなった場合のユース ケースがあります。私のコード呼び出し
participantQuitOutOfTurnWithOutcome:withCompletionHandler:
テーブル ビューから行を削除します。
この時点で、他のプレイヤーがターンを取得し、対戦相手が終了したことを確認します
match.remoteParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit
そのため、彼らは次の呼び出しでゲームを終了します
endMatchInTurnWithMatchData:completionHandler:
問題は、ゲームがまだ Game Center に存在することです。そう呼ぶ
loadMatchesWithCompletionHandler:
最初のプレーヤーのアプリでそれを引き下げて、ゲームのテーブルに表示します。
私が考えることができる唯一の解決策は、テーブルから一致する一致 ID とブラックリストを保存することです。少しゴツゴツしているようです。
このための API はないようです。つまり、マッチのリストを終了して削除します。Game Center API のみを使用して、この状況を処理するためのより良い方法はありますか?