在使用 Twisted 和 pyapns 之前,我能够发送推送通知。我必须重新启动我的 EC2 实例,然后启动我的 Web 服务器,然后我就开始扭曲了。重启后,我一直无法发送和接收推送通知,我检查了扭曲的日志,这是我发现的:
2013-02-22 17:50:40+0000 [-] Starting factory <pyapns.server.APNSClientFactory instance at 0x90f9e4c>
2013-02-22 17:50:40+0000 [-] APNSClientFactory startedConnecting
2013-02-22 17:50:40+0000 [Uninitialized] APNSProtocol connectionMade
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] APNSProtocol connectionLost
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] APNSClientFactory clientConnectionLost reason=[Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x9025e4c> will retry in 2 seconds
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] Stopping factory <pyapns.server.APNSClientFactory instance at 0x90f9e4c>
在日志中,引用为:Traceback(无帧失败):
<class'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
我该如何找到解决方案?
最佳答案
所以我实际上弄清楚了问题是什么。事实证明,我的应用程序仍在向 Apple 的沙盒服务器发送通知。 Apple 将拒绝在一定限制后发送任何通知。我所要做的就是更改 utils.py,如下所示:http://highonpython.com/index.php/setting-up-ios-push-notifications-apns-with-pythondjango-through-pyapns/
将“沙箱”更改为“生产”。如果您的推送通知之前可以正常工作,它应该可以解决您的问题。
希望这有帮助!
关于python - Twisted 和 pyapns 的推送通知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030491/