2015-04-02 26 views
0

当我尝试,我得到以下错误在服务器上执行一个苹果推送通知:APNS通知失败交付(错误代码8)

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

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

这里是我做的:

  1. 在Xcode中我存档我的应​​用,并使用发行配置文件导出的Ad Hoc 分布。简介 包含“APS环境生产”权利。
  2. 在苹果 开发者中心,我下载了APNs制作的iOS证书, 将它导入我的iMac Keychain并导出p12文件。
  3. 我将 .p12文件部署到我的服务器,在那里我使用 https://github.com/notnoop/java-apns库来执行苹果推送 通知。 。.withProductionDestination()withDelegate(本).build()

APNS.newService()withCert(certificateInputStream “密码”);:库被初始化这样。

  1. 运行时,客户端应用程序成功注册推送 通知并接收令牌。
  2. 当服务器试图 执行推送通知,将抛出一个异常: com.notnoop.exceptions.ApnsDeliveryErrorException:无法交付,错误代码为8

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

+0

8表示无效的设备令牌。也许您尝试将沙箱设备令牌推送到生产推送环境,反之亦然。 – Eran 2015-04-02 06:59:50

+0

嗨伊兰,设备令牌已通过我的App Delegate中的didRegisterForRemoteNotificationsWithDeviceToken回调获得,并且应用程序使用distr签名。提供包含aps生产环境权利的配置文件。我能做些什么来验证设备令牌是否适用于生产环境?谢谢。 – 2015-04-03 08:02:48

回答

2

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

+0

你能接受你的答案吗?您可能需要等待更多的声誉。 – 2015-04-05 20:27:43

相关问题