ios - 有没有办法在不发送 "Your Turn"推送通知的情况下更新 GKTurnBasedMatch 中的 matchData?

标签 ios game-center gamekit

如果我的理解是正确的,更新 GKTurnBasedMatch 中转的 matchData 属性的唯一方法是 [_currentMatch endTurnWithNextParticipant:_currentParticipant matchData:matchData completionHandler:nil]。

如果 Game Center 玩家只在一台设备上安装了游戏,这会很有效,因为通知会作为消息传递给设备,发送给应用程序。因此,可以在用户当前轮到他玩时隐藏通知。但是,如果用户在多个设备上安装了该游戏,则其他设备将收到“轮到你了”推送通知。这会让用户感到困惑,尤其是我多次更新 matchData。

顺便说一句,我知道我可能没有按预期使用 endTurnWithNextParticipant:matchData:completionHandler: 函数(因为我实际上并没有结束比赛……而只是更新了比赛数据)。但是,似乎没有其他方法可以在回合中更新比赛的状态。

最佳答案

在 iOS 6 中添加了中转保存:

-[GKTurnBasedMatch saveCurrentTurnWithMatchData:completionHandler:]

来源:GKTurnBasedMatch Class Reference

关于ios - 有没有办法在不发送 "Your Turn"推送通知的情况下更新 GKTurnBasedMatch 中的 matchData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9760209/

相关文章:

ios - Ream 快速迁移仅在设备上崩溃

app-store - “The App Name you entered has already been used”,即使我刚刚创建了该应用

xcode - Game Center 未使用 Swift 进行身份验证

ios - GameKit 中的服务器-客户端连接

iphone - 游戏中心快消: randomly matching opponents (GKTurnBasedMatch)

ios - 从 GameKit 加载成就总是返回 nil

ios - prepareForSegue 不使用导航 Controller

Iphone 使用 smtp 服务器向多个收件人发送电子邮件?

ios - 隐藏 UICollectionViewCell

android - 跨平台多人游戏(app)