1

私はターン ベースのゲーム キット ゲームに取り組んでいます。プレイヤーが参加する試合のカスタム UI を作成しています。

loadMatchesWithCompletionHandler:

ユーザーが試合に出ていて、自分の番ではなく、ゲームを終了してゲームのリストにその試合が表示されなくなった場合のユース ケースがあります。私のコード呼び出し

participantQuitOutOfTurnWithOutcome:withCompletionHandler: 

テーブル ビューから行を削除します。

この時点で、他のプレイヤーがターンを取得し、対戦相手が終了したことを確認します

match.remoteParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit

そのため、彼らは次の呼び出しでゲームを終了します

endMatchInTurnWithMatchData:completionHandler:

問題は、ゲームがまだ Game Center に存在することです。そう呼ぶ

loadMatchesWithCompletionHandler: 

最初のプレーヤーのアプリでそれを引き下げて、ゲームのテーブルに表示します。

私が考えることができる唯一の解決策は、テーブルから一致する一致 ID とブラックリストを保存することです。少しゴツゴツしているようです。

このための API はないようです。つまり、マッチのリストを終了して削除します。Game Center API のみを使用して、この状況を処理するためのより良い方法はありますか?

4

1 に答える 1