GKTurnBasedMatch 检测邀请
GKTurnBasedMatch detect invitation
我有一个视图,其中列出了本地玩家(已注册为听众)的所有可用匹配项。我遇到的问题是我希望我的列表在玩家收到新比赛邀请时更新。
我尝试实施:
func player(_ player: GKPlayer, didAccept invite: GKInvite) {
}
func player(_ player: GKPlayer, didRequestMatchWithOtherPlayers playersToInvite: [GKPlayer]) {
}
但是这些方法永远不会被调用。
我确实收到了其他事件的通知,例如 turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFind match: GKTurnBasedMatch)
和 player(_ player: GKPlayer, receivedTurnEventFor match: GKTurnBasedMatch, didBecomeActive: Bool)
此外,我确实从屏幕顶部的游戏中心获得了横幅,如果我点击它,它会注册回合事件,但它不会检测何时收到邀请。
有什么建议吗?
我写了一个错误,抱怨 didAcceptInvite
从不触发。 Apple 关闭了这个错误,说这是故意的,didAcceptInvite
只适用于实时匹配(即使文档没有这么说)。
我想做与您描述的相同的事情:提供始终最新的匹配项列表。尽管有游戏中心通知,但我从未发现我可以检测到自己的事件。
最后,我将 table 放在单独的视图上,并在每次显示视图或用户下拉刷新 table 时查询所有匹配项的列表看法。我考虑过使用计时器来定期刷新列表,但实际上并没有做到这一点。
我有一个视图,其中列出了本地玩家(已注册为听众)的所有可用匹配项。我遇到的问题是我希望我的列表在玩家收到新比赛邀请时更新。
我尝试实施:
func player(_ player: GKPlayer, didAccept invite: GKInvite) {
}
func player(_ player: GKPlayer, didRequestMatchWithOtherPlayers playersToInvite: [GKPlayer]) {
}
但是这些方法永远不会被调用。
我确实收到了其他事件的通知,例如 turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFind match: GKTurnBasedMatch)
和 player(_ player: GKPlayer, receivedTurnEventFor match: GKTurnBasedMatch, didBecomeActive: Bool)
此外,我确实从屏幕顶部的游戏中心获得了横幅,如果我点击它,它会注册回合事件,但它不会检测何时收到邀请。
有什么建议吗?
我写了一个错误,抱怨 didAcceptInvite
从不触发。 Apple 关闭了这个错误,说这是故意的,didAcceptInvite
只适用于实时匹配(即使文档没有这么说)。
我想做与您描述的相同的事情:提供始终最新的匹配项列表。尽管有游戏中心通知,但我从未发现我可以检测到自己的事件。
最后,我将 table 放在单独的视图上,并在每次显示视图或用户下拉刷新 table 时查询所有匹配项的列表看法。我考虑过使用计时器来定期刷新列表,但实际上并没有做到这一点。