handleTurnEventForMatch:didBecomeActive:回调只在某些时候到达

时间:2013-02-17 18:07:41

标签: ios callback notifications gamekit gkturnbasedmatch

这是this question的后续行动。如果您没有收到handleTurnEventForMatch:didBecomeActive:任何回调,请尝试答案。

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

我的游戏在每个回合中多次上传转弯状态。有趣的是,似乎如果其他设备收到对手轮到的一个通知,则不太可能接收到同一回合的进一步通知。但是,这不是100%。

一般来说,我的互联网连接似乎运作良好。

任何可能导致此问题的想法?

1 个答案:

答案 0 :(得分:8)

我终于找到了问题。

好吧,如果您使用GKTurnBasedMatchmakerViewController,那么它会从您当前的代表处窃取委托。

它可能有类似的东西:

[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self;

这非常有意义,因为viewcontroller需要在gamecenter发生更改时进行更新,因此它成为GKTurnBasedEventHandler的委托。

如果你想将委托归还给你自己的对象,你应该把这一行:

[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self;

GKTurnBasedMatchmakerViewControllerDelegate协议中所有功能的最顶层。