作者:迷失刀 | 来源:互联网 | 2023-06-08 12:38
我正在尝试让我的django应用程序向运行该服务的iOS应用程序的iOS设备发送推送通知.我正在尝试使用pyapns发送通知.但我无法连接到Apple推送通知服务器.这项服务大部分已经完成,这是我在退
我正在尝试让我的django应用程序向运行该服务的iOS应用程序的iOS设备发送推送通知.我正在尝试使用pyapns发送通知.但我无法连接到Apple推送通知服务器.
这项服务大部分已经完成,这是我在退出测试版之前想要开始工作的最后一件事.您可以访问http://pagemove.se/以阅读有关该应用程序的信息.
这是日志:
回溯(最近一次调用最后一次):文件“”,第1行,在文件“/usr/local/lib/python2.7/dist-packages/pyapns/client.py”,第75行,在包装返回函数中(* a ,** kw)文件“/usr/local/lib/python2.7/dist-packages/pyapns/client.py”,第67行,在包装返回函数(* a,** kw)文件“/usr/local /lib/python2.7/dist-packages/pyapns/client.py“,第97行,在notify return _xmlrpc_thread(* f_args)文件”/usr/local/lib/python2.7/dist-packages/pyapns/client. py“,第127行,在_xmlrpc_thread中错误回复(e)文件”/usr/local/lib/python2.7/dist-packages/pyapns/client.py“,第65行,在errback_wrapper中错误回复(e)#不是实例UnknownAppID – 我们无能为力文件“/usr/local/lib/python2.7/dist-packages/pyapns/client.py”,第55行,在errback中提升e xmlrpclib.Fault:
有人有这个问题吗?与.pem文件可以是一回事吗?或者ubuntu-server的设置?我可以忘记在路由器中打开一些端口吗?
编辑
我做了一个测试,看看apns的端口是否打开.我做到了
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
希望这可以帮助 :)