推送后未注册的设备被发送

这听起来很奇怪,但我看不到任何其他的解释。

我已经在Bluemix上设置了IBM推送通知,这是我之前完成的。 出于某种原因,我build立了这个新的应用程序。 任何时候我发送一个推送通知,它不会通过,我尝试再次这样做,它告诉我没有设备。

这只发生在我身上,也许是它的服务问题?

有些事情我试过/发现:

  • 我的设备正在注册并通过控制台从服务接收成功的消息。
  • 我只有1个设备,但监控现在告诉我有7个设备已经注册通知。
  • 当使用Web控制台发送推送通知时,它表示第一次成功(但没有任何通过),再次单击说Internal Server error: No devices found
  • 使用swagger文档,我input我的appID和search设备,没有出现。 我运行的应用程序,一个显示,我把应用程序在后台,一个仍然显示。 我通过大举发出通知,说成功了,检查注册的设备,返回空数组。
  • 我的iOS应用程序中的代码仅限于为IMFPush / IMFCore cocoapods提供的样本,用于注册。 我没有任何退订代码。
  • 我没有运行任何我的node.js代码,或只使用swagger / web控制台工具的iOS代码validation了这一点。
  • 我正在使用之前用于其他应用的沙箱提供configuration文件。
  • 我已经删除了IMF推送服务并重新创build。

任何帮助/见解将不胜感激。

@Simon请重新下载推送沙箱证书,并将其作为.p12从钥匙串中导出。 这似乎解决了这个问题。 这似乎很奇怪,但一个坏的私钥给你的“无效的令牌”。 所以当你试图发送通知给无效的令牌设备时,苹果服务器正在删除设备。 请确保您按照正确的步骤生成沙箱或生产证书https://console.ng.bluemix.net/docs/services/mobilepush/t_push_provider_ios.html

@SimonMcLoughlinfind了这个问题的根源,那是因为私钥不好。 要解决此问题,请使用.pem生成一个.p12证书。 用.pem文件创buildp12文件,请按照下面的方法 创建p12文件的步骤