MobileFirst Starter – 生产模式下的Bluemix推送通知失败

我正在构建一个可以通过Bluemix接收远程通知的iOS应用程序。 我在Xcode中的app Bundle Identifier与Apple Portal中的AppId匹配,它也匹配APN证书(xxx-sandbox.p12和xxx-production.p12)。

在开发过程中,我使用Bluemix Sandbox的推送通知进行了测试(在MobileFirst Starter样板下)。 一切正常。 我可以在iPhone上收到通知。 但是,当我在生产模式下测试时,我不断收到错误消息:“内部服务器错误。找不到设备”。

我已经确认我的设备存在(使用REST API: https ://mobile.ng.bluemix.net/imfpushrestapidocs/#!/devices/ get_apps_applicationId_devices )。

任何建议都非常感谢。

好吧,REST API显示您尚未在生产模式下注册任何设备。 此外,它显示后端应用程序正在沙盒模式下工作,所以让我们先改变它。

为此,您需要PUT ApplicationID Settings REST API调用:

https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/applications/put_apps_applicationId_settings

随着json的身体

{ "mode" : "PRODUCTION" } 

然后我将使用GET ApplicationID Settings REST API调用来确认模式切换已经发生(您应该在响应中看到“mode”:“PRODUCTION”)

https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/applications/get_apps_applicationId_settings

切换环境模式后,您需要重新运行客户端代码才能在生产模式下注册设备。 从那里你应该能够按照你的期望推动。