handleTurnEventForMatch:didBecomeActive:仅在某些时间到达的callback

这是这个问题的后续。 如果您没有收到处理handleTurnEventForMatch:didBecomeActive: 任何callback,请尝试在那里find答案。

在我的游戏中,我只是在一些时间接收转向事件通知。 但是,如果我回到matchMakerViewController并重新加载匹配,状态总是正确的。

我的游戏在每个回合中都会多次上传转弯状态。 有意思的是,如果其他装置收到一个对手回合的通知,则不太可能在相同回合中接收到进一步的通知。 但是,这不是100%。

一般来说,我的互联网连接似乎工作得很好。

任何想法可能是什么原因造成的?

我终于明白了这个问题。

好的,如果您使用GKTurnBasedMatchmakerViewController ,那么它会从您当前的委托中盗取委托。

它可能有像这样的东西:

 [GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self; 

这是非常有意义的,因为当gamecenter发生更改时,viewcontroller需要更新,所以它成为GKTurnBasedEventHandler

如果你想把代表团归还给你自己的对象,尽pipe你应该把这一行:

 [GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self; 

GKTurnBasedMatchmakerViewControllerDelegate协议的所有function的最顶端。