iphone - GKTurnBasedMatch 推送通知非常不一致

标签 iphone ios push-notification game-center gkturnbasedmatch

我正在测试两台设备之间的回合制游戏。据我了解,例如,发送带有 [GKTurnBasedMatch endTurnWithNextParticipants:] 的回合应该会自动将游戏中心通知推送给对手。有时,这会像预期的那样工作:轮到发送后,另一台设备上会立即显示一条横幅通知。一切顺利。

让我感到困惑的是,其他时候,即使回合本身发送正确(我可以判断,因为当对手刷新比赛时,比赛是最新的),没有推送通知在

我的理解有没有漏洞?如果我理解正确,不一致的通知应该与我的代码没有任何关系,因为这里的问题不是我如何处理通知,而是根本没有通知。换句话说,[handleTurnEventForMatch:](GKTurnBasedEventHandlerDelegate 方法)与它没有任何关系(我不认为),因为如果没有收到通知,它永远不会被调用。

所以,我只是想知道是否有人对此有任何经验。这可能是由于我的代码中的某些内容造成的吗?或者,是否有可能是 Game Center 沙盒造成了不一致,而我对此无能为力?

任何想法或想法将不胜感激。

最佳答案

这是 GameCenter 沙盒模式的问题。为了让您的设备进入沙盒模式,您必须打开/运行您的应用程序并验证游戏中心。如果您说,在您的游戏打开后打开一个不同的(已发布的)游戏,它将离开沙盒模式并返回到常规游戏中心模式。

即使您的游戏在后台运行,只要它是最后打开的启用游戏中心的游戏,您就应该正常收到推送通知。但是如果你打开游戏,然后杀死进程,你将不再处于沙盒模式,也不会收到推送通知。

关于iphone - GKTurnBasedMatch 推送通知非常不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199528/

相关文章:

objective-c -/var/log/syslog 在 iOS 中等效?

ios - 导航 Controller 之间的segue

ios - 无法将我的 iOS 应用程序扩展到 iPhone 5 和 4

iphone - 如何使用 CoreData 进行随机排序

iphone - 如何一次更改所有本地化的 Storyboard 文件?

ios - 如何在 UILabel 中显示 UITextField 的文本?

iphone - 带有文本的可 ScrollView 以及在点击特定短语时执行某些操作的能力

ios - 推送通知 Json 中 "Content-available"的用途?

android - Xamarin 推送通知 Firebase Android 12(导出)

push-notification - 在 C# 中使用 jdsoftnotification 向苹果推送通知从过去 2 天开始不起作用