iOS 6.0 では、クラス GKTurnBasedMatch にいくつかの新しいインスタンス メソッドが追加されました。それらの使用方法がわかりません:
acceptInviteWithCompletionHandler
declineInviteWithCompletionHandler
ターンベースの対戦招待を受信した際に使用することになっていますか? ターンベースのマッチ招待は、GKTurnBasedEventHandlerDelegate プロトコル メソッド (handleInviteFromGameCenter) を通じて受信されます。
- (void) handleInviteFromGameCenter:(NSArray *)playersToInvite
handleInviteFromGameCenter は、承認または拒否の目的で使用する GKTurnBasedMatch インスタンスを提供しません。したがって、招待に応じてそれらを使用する方法がわかりません。
GKTurnBasedMatch インスタンスを提供する唯一のメソッドは次のとおりです。
+ loadMatchesWithCompletionHandler
+ findMatchForRequest:withCompletionHandler
loadMatchesWithCompletionHandler の結果で acceptInviteWithCompletionHandler を使用する理由がわかりません。それらは私が既に参加している一致であるためです。
これは一致を見つけるために呼び出されているため、findMatchForRequest:withCompletionHandler でそれらのいずれかを使用する理由がわかりません。マッチを見つけた後、マッチを受け入れることになっていますか?
<-更新->
denyInviteWithCompletionHandler の用途を 1 つ見つけました。ユーザーがターンインしていない試合の削除をリクエストした場合、decisionInviteWithCompletionHandler を呼び出します。このようにして、彼らは試合をやめたとは記録されません。
プレーヤーがまだターンをしていない場合、その GKTurnBasedParticipant.lastTurnDate は null
ユーザーが試合のプレイをリクエストした場合 (loadMatchesWithCompletionHandler を使用してリストに表示したもの)、ローカル プレイヤーが試合でターンを行っていない場合、プレイヤーに試合を表示する前に、acceptInviteWithCompletionHandler を呼び出します。これが必要かどうかはわかりませんが、正しいことのように思えました。