iOS 应用似乎使用 Bluemix Push Cordova 插件注册为 Android 设备

iOS app seems to register as Android device using Bluemix Push Cordova plugin

我正在尝试从这里 运行 bluemix 推送 cordova 应用程序的示例:

我能够在 iOS 设备上安装示例,当我单击注册按钮时,得到以下响应:

{"createdTime":"2016-08-23T10:53:26Z","lastUpdatedTime":"2016-08-23T10:53:26Z","createdMode":"API","deviceId":"xxxxxx-xxxx-xxxxxx","userId":"anonymous","token":"xxxx-xxxxx-xxxxx","platform":"A","href":"https://xxxxxx.ng.bluemix.net/imfpush/v1/apps/xxxxxx/devices/xxxxxx"}

在回复中我可以看到

"platform":"A"

这可能暗示该设备正在将自己注册为 Android 设备。

当我尝试将测试消息从 Bluemix 控制台推送到应用程序到 iOS 设备时,它显示 "No Devices Found"。 Android 并非如此。我能够接收到 Android 设备的推送。

'A' 指的是 iOS 设备(标签为 Apple)而不是 Google Android 设备('G')。这可以通过选择 'Model' 视图而不是 'Model Schema' 视图在 REST API 上看到。

platform (string, optional):

The device platform. 'A' refers to Apple(iOS) devices and 'G' refers to Google(Android) devices. = ['A', 'G']
string
Enum:   "A", "G"

关于无法在 iOS 上收到推送通知,我会确保您的 APNs 证书有效且配置正确。如果 Bluemix 尝试推送并且 APNs 响应设备令牌由于证书问题而无效,那么它将从设备列表中删除以防止进一步的失败尝试,这可能就是您看到 'No Devices Found' 错误的原因。

如果您的证书一切正常,请告诉我们您的推送服务 GUID(位于推送仪表板配置页面的“移动选项”按钮上),以便我们进行进一步调查。