【发布时间】:2012-12-11 17:36:40
【问题描述】:
我已经一个星期来寻找我遇到的问题的答案,但我找不到任何东西,所以我要在这里问问题!
我制作了一个可以向用户发送通知的 iPhone 应用程序。 所以,我有一个通知服务器,用 PHP 编码,使用 apns-php (http://code.google.com/p/apns-php/)
我的服务器可以随时发送通知,所以我有一个无限期运行的工作人员,每次收到要发送的通知(要发送的通知在队列中)时,它都会发送通知。为了尽可能快,worker 有 10 个线程可以发送通知。
当我启动 worker 时,我会收到我应该收到的通知。
问题是一段时间后(我不知道是在特定时间后还是在特定数量的通知发送后......或其他!),我没有收到任何新通知。当我查看 apns-php 的日志时,什么都没有:所有消息似乎都发送到了 APNS 服务,没有错误(apns-php 使用增强格式)。 重新启动工作器后,我会再次收到通知(但只是一段时间)。
我在 stackoverflow 和 Google 上搜索过这个问题,到目前为止,我看到的唯一回复是:
- 使用的证书/配置文件有问题。我知道这不是问题,因为我在启动工作程序时会收到通知
- 我们的数据库中有一些开发设备令牌,这使得 APNS 关闭了连接。实际上,我们的数据库中可能存在一些开发设备令牌,但是当我查看 apns-php 代码时,如果连接关闭,则会打开一个新设备。所以我不明白这会如何影响在坏设备令牌之后发送的所有通知。
这个问题真的让我抓狂,因为通知对我们的服务非常重要。因此,如果有人知道这里可能存在什么问题,那真的可以挽救生命!
PS:我没有发布任何代码,因为我没有做任何具体的事情。我只是使用 apns-php 的 send() 函数来发送每个通知。
【问题讨论】:
标签: php objective-c apple-push-notifications apns-php