我正试图让我的django应用程序向运行此服务的ios应用程序的ios设备发送推送通知。我正试图使用pyapns发送通知。但我无法让它连接到苹果推送通知服务器。
这项服务基本上已经完成了这是我在退出beta之前最不想做的事情。您可以访问http://pagemove.se/了解应用程序。
这是日志:
Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 75, in wrapper return func(*a, **kw) File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 67, in wrapper return func(*a, **kw) File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 97, in notify return _xmlrpc_thread(*f_args) File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 127, in _xmlrpc_thread errback(e) File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 65, in errback_wrapper errback(e) # not an instance of UnknownAppID - nothing we can do here File "/usr/local/lib/python2.7/dist-packages/pyapns/client.py", line 55, in errback raise e xmlrpclib.Fault:
有人有这个问题吗?它能和.pem文件一样吗?或者安装ubuntu服务器我能忘记打开路由器上的一些端口吗?
编辑
我做了一个测试来确定APN的端口是否打开。我做的

telnet gateway.sandbox.push.apple.com 2195

得到了
Trying 17.149.34.65...
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is '^]'.

我认为服务器和路由器的设置是正确的。

最佳答案

我也遇到了同样的问题-这很令人沮丧,因为它可以建立连接,.pem文件可能格式不正确。
按照这个奇妙的逐步说明来生成正确的最终.pem文件:
http://blog.serverdensity.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/
另外,当你从keychain导出证书和密钥时设置密码-我知道它说你可以不用,但是我发现在从keychain导出时设置密码是随机的,然后在连接文件之前按照最后的openssl rsa ...步骤删除所述密码有助于解决我遇到的问题。
我不能绝对肯定,但对我来说,是.pem文件生成了上面收到的确切错误消息。
最后一个.pem文件是文本,应该像这样格式化(注意这里的信息是随机生成的,我经常重复行):
https://gist.github.com/58f79e1cd811f62bf011
希望这有帮助:)

09-25 20:55