8

これはこの質問のフォローアップです。へのコールバックを受信て​​いない場合はhandleTurnEventForMatch:didBecomeActive:、そこで回答を試してください。

私のゲームでは、時々ターン イベントの通知しか受信しません。しかし、 に戻ってmatchMakerViewController試合を再ロードすると、状態は常に正しいです。

私のゲームは、各ターン中にターン状態を複数回アップロードします。逸話的には、他のデバイスが対戦相手のターンの通知を 1 つ受信すると、同じターンのそれ以降の通知を受信する可能性は低くなるようです。ただし、これは 100% ではありません。

一般的に、私のインターネット接続はかなりうまくいっているようです。

これを引き起こしている可能性のあるアイデアはありますか?

4

1 に答える 1

9

私はついに問題を理解しました。

を使用するGKTurnBasedMatchmakerViewControllerと、現在のデリゲートからデリゲートが盗まれます。

おそらく次のようなものがあります。

[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self;

ゲームセンターから変更が発生したときにビューコントローラーを更新する必要があるため、これは完全に理にかなっていますGKTurnBasedEventHandler

委任を独自のオブジェクトに戻したい場合は、次の行を追加する必要があります。

[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self;

GKTurnBasedMatchmakerViewControllerDelegateプロトコル内のすべての関数の一番上。

于 2013-03-13T11:14:49.750 に答える