1

我正在构建可通过Bluemix接收远程通知的iOS应用程序。我在Xcode中的应用程序Bundle Identifier与Apple Portal中的AppId相匹配,它也与APN证书(xxx-sandbox.p12和xxx-production.p12)相匹配。MobileFirst Starter - 生产模式下的Bluemix推送通知失败

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

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

任何建议,非常感谢。

+2

要确认,您的设备是否在生产模式下注册?设备注册只涵盖一个环境,因此如果您以前只在沙箱中注册过,则需要在生产中进行注册。如果您想发布您的应用程序ID,我可以更深入地调查问题并查看我们的服务器日志。 –

回答

1

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

要做到这一点,你会希望PUT的applicationID设置REST API调用:

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

使用JSON身体

{ 
    "mode" : "PRODUCTION" 
} 

我会再使用GET的applicationID设置REST API调用确认模式切换已经发生(您应该在响应中看到“模式”:“PRODUCTION”)

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

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

+0

真棒..感谢您的方向。现在效果很好。 –