0

当我尝试在服务器上执行苹果推送通知时,出现以下错误:

com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8

我的服务器是一个 Java 应用程序。奇怪的是,相同的服务器 WAR 文件在本地工作正常(发送通知),但是当我将它部署到远程服务器(RedHat openshift.com)时它不起作用(上面有错误)。

这是我所做的:

  1. 在 Xcode 中,我归档我的应用程序并使用 Distribution Provisioning 配置文件将其导出以用于 Ad Hoc 分发。该配置文件包含“aps-environment production”权利。
  2. 在 Apple 开发人员中心,我下载了 APNs 生产 iOS 证书,将其导入我的 iMac 钥匙串并导出一个 p12 文件。
  3. 我将 .p12 文件部署到我的服务器,在那里我使用 https://github.com/notnoop/java-apns库来执行苹果推送通知。该库的初始化如下:

APNS.newService().withCert(certificateInputStream,"密码").withProductionDestination().withDelegate(this).build();

  1. 运行时,客户端应用程序成功注册推送通知并接收令牌。
  2. 当服务器尝试执行推送通知时,抛出异常:com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8

你能帮我吗?相同的设置在本地工作但在远程服务器上失败的原因可能是什么?

4

1 回答 1

2

这似乎是另一个错误。服务器包含旧的部署 (war) 文件,该文件仍指向沙盒 APNS 环境。我手动重新部署后,问题就消失了。

于 2015-04-05T17:03:28.827 回答