我正在构建一个可以通过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)。
非常感谢任何建议。
答案 0 :(得分:0)
好的,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调用来确认模式切换已经发生(你应该看到"模式":"生产"在响应中)
https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/applications/get_apps_applicationId_settings
切换环境模式后,您需要重新运行客户端代码才能在生产模式下注册设备。从那里你应该能够按照你的期望推动。