当我尝试在服务器上执行苹果推送通知时,出现以下错误:
com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8
我的服务器是一个 Java 应用程序。奇怪的是,相同的服务器 WAR 文件在本地工作正常(发送通知),但是当我将它部署到远程服务器(RedHat openshift.com)时它不起作用(上面有错误)。
这是我所做的:
- 在 Xcode 中,我归档我的应用程序并使用 Distribution Provisioning 配置文件将其导出以用于 Ad Hoc 分发。该配置文件包含“aps-environment production”权利。
- 在 Apple 开发人员中心,我下载了 APNs 生产 iOS 证书,将其导入我的 iMac 钥匙串并导出一个 p12 文件。
- 我将 .p12 文件部署到我的服务器,在那里我使用 https://github.com/notnoop/java-apns库来执行苹果推送通知。该库的初始化如下:
APNS.newService().withCert(certificateInputStream,"密码").withProductionDestination().withDelegate(this).build();
- 运行时,客户端应用程序成功注册推送通知并接收令牌。
- 当服务器尝试执行推送通知时,抛出异常:com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8
你能帮我吗?相同的设置在本地工作但在远程服务器上失败的原因可能是什么?