iOS-GKTurnBasedMatch中的文本聊天

iOS-GKTurnBasedMatch中的文本聊天,ios,gamekit,Ios,Gamekit,我正在尝试使用GameKit在基于回合的比赛中实现聊天功能。我想我可以通过调用[match endTurnWithNextParticipant:match.currentParticipant matchData:dataWithUpdatedChat completionHandler:…]发送消息。 换句话说,当我想发送聊天信息时,我会结束当前玩家的回合,以便将数据发送到游戏中心,但随后当前玩家将进行下一步操作,以便他可以正常进行 但是,如果不是轮到当前球员,我无法更新比赛数据。有办法吗?

我正在尝试使用GameKit在基于回合的比赛中实现聊天功能。我想我可以通过调用
[match endTurnWithNextParticipant:match.currentParticipant matchData:dataWithUpdatedChat completionHandler:…]发送消息。

换句话说,当我想发送聊天信息时,我会结束当前玩家的回合,以便将数据发送到游戏中心,但随后当前玩家将进行下一步操作,以便他可以正常进行


但是,如果不是轮到当前球员,我无法更新比赛数据。有办法吗?

没有,没有办法。如果有的话,很容易出现球员之间的比赛情况。您需要另一项服务来实现聊天功能。另一个选项是在游戏中实现有限的聊天,例如在结束回合时输入消息的选项。

以下方法已添加到iOS 6.0中的
GKTurnBasedMatch
,并将执行您需要的操作:

- (void)saveCurrentTurnWithMatchData:(NSData *)matchData
                   completionHandler:(void (^)(NSError *error))completionHandler

“更新比赛数据,而不将比赛升级到其他玩家”

问题在于,只有当前移动的玩家才能发送聊天信息。。。因此,它可能不会结束回合,但可能会导致一些相当无聊的转换。我不确定它是否会起作用,但可能会向所有其他玩家发送带有数据nul的交换。收到事件后,设备会将消息添加到聊天窗口。匹配数据永远不会更新。聊天只是本地的。