我有一个原生 iOS Swift 应用程序与具有 MobileFirst 服务(AMA、Cloudant、Push iOS 8)的 Node.js Bluemix 后端通信,该应用程序运行了一个多月。几天前,我注意到我无法再从 iOS 应用程序注册新设备(IMFPushClient.sharedInstance().registerDeviceToken() 以 404 响应)。
我知道最近对 MobileFirst 服务进行了更改(例如各种推送服务合并为一个),所以我想我应该重新绑定(bind)这些服务。这解决了注册问题,但我一直无法收到推送通知。
这是我尝试过的:
- 使用 “MobileFirst Services Starter” 样板文件创建了全新的后端
- 克隆“Bluelist”示例应用程序的最新版本并为这个新后端配置它
- 为我的 bundle ID 颁发了一个新的APNs 证书并将其上传到推送服务
在我的设备上- 成功注册推送通知。我已经通过调用/devices REST API 验证了这一点(基本上,我遵循了 these 的步骤)。
现在,每次我使用 REST API 发送消息(在确定不记名 token 方法已被新的“appSecret” header 替换后),我都会收到 HTTP 202,但通知永远不会到达。同样,当我尝试通过服务的仪表板发送消息时,我会收到一条成功消息,但通知永远不会到达。
我注意到的一件事是,即使我不向服务提供 .p12 证书,症状也会保持不变,所以我想知道这是否可能是证书问题,但我有不知道如何追踪这个。此外,IIRC 的“旧”MobileFirst 服务要求我提供移动应用程序的捆绑 ID 和版本,但现在似乎已经不存在了。非常感谢任何帮助。
Best Answer-推荐答案 strong>
我们能够通过确保沙盒环境使用沙盒 .p12 文件来解决上述问题。要验证此设置,请转到 IBM Push Notification Dashboard 并单击 配置选项卡:
在这里您可以看到您上传的 .p12 文件的证书类型。确保您使用的是沙盒环境,它被列为沙盒。生产环境也是如此。
关于ios - Bluemix 推送通知服务不再工作?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/33013796/
|