APNS通知下发失败(错误码8)

APNS notification fails to be delivered (error code 8)

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

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

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

这是我的做法:

  1. 在 Xcode 中,我存档我的应​​用程序并将其导出以用于 Ad Hoc 使用分发供应配置文件分发。简介 包含 "aps-environment production" 权利。
  2. 在苹果 开发者中心,我下载了 APNs production iOS 证书, 将它导入我的 iMac Keychain 并导出一个 p12 文件。
  3. 我部署了 .p12 文件到我的服务器,我在那里使用 https://github.com/notnoop/java-apns 执行苹果推送的库 通知。库初始化如下:

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

  1. 当运行时,客户端应用注册推送成功 通知并接收令牌。
  2. 当服务器尝试 执行推送通知,抛出异常: com.notnoop.exceptions.ApnsDeliveryErrorException: 发送失败 错误代码为 8
  3. 的通知

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

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