服务器端 Apple 推送通知
Posted
技术标签:
【中文标题】服务器端 Apple 推送通知【英文标题】:Server-side Apple Push Notification 【发布时间】:2016-05-26 16:39:53 【问题描述】:在 ios 中实现推送通知时,我需要一点帮助。我正在使用斯威夫特。
我成功创建了推送证书和密钥 (.pem)。我能够检索到 deviceToken。而且我能够通过 APN Tester Free 应用程序向我的设备发送通知。所以,基本上推送通知在我的本地计算机上工作。
我找到了这个tutorial 并选择了 php 文件并将其与我的 .PEM 文件一起上传到服务器。但是当我尝试打开 sample.com/newspush.php 时,我得到 Service Unavailable。
我还尝试了其他教程(我不记得链接了)。但我得到:无法连接到 APNS 服务器。错误 = 连接超时
【问题讨论】:
【参考方案1】:这是因为您的服务器不允许访问。在包含证书文件的文件夹上设置错误的权限。为包含 .pem 文件的文件夹授予 chmod 755 权限。这将解决您的问题。
或者可能是您的服务器关闭了 2195 端口。所以请确保端口打开。检查是否可以在您的服务器中运行此代码。
telnet gateway.push.apple.com 2195
如果您的服务器出现问题,它将显示如下内容:-
Trying 17.172.233.36...
telnet: connect to address 17.172.233.36: Connection refused
那么你通过打开2195端口来解决这个问题
如果您的服务器已经打开了端口,它将显示:-
-bash-3.2# telnet gateway.push.apple.com 2195
Trying 17.149.38.141...
Connected to gateway.push.apple.com (17.149.38.141).
Escape character is '^]'.
Connection closed by foreign host.
希望对您有所帮助!
【讨论】:
包含我的 .pem 的文件夹已经拥有 0755 权限。 然后打开2195端口:)以上是关于服务器端 Apple 推送通知的主要内容,如果未能解决你的问题,请参考以下文章