1

我正在构建一个可以通过 Bluemix 接收远程通知的 iOS 应用程序。我在 Xcode 中的 app Bundle Identifier 与 Apple Portal 中的 AppId 匹配,该 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 )。

非常感谢任何建议。

4

1 回答 1

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 调用来确认模式切换已经发生(你应该在响应中看到 "mode" : "PRODUCTION")

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

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

于 2015-11-30T22:16:34.143 回答