2

我有一个原生 iOS Swift 应用程序与Node.js Bluemix带有 MobileFirst 服务(AMA、Cloudant、Push iOS 8)的后端通信,该应用程序运行了一个多月。几天前,我注意到我无法再从 iOS 应用程序注册新设备(IMFPushClient.sharedInstance().registerDeviceToken() 以 404 响应)。

我知道最近对 MobileFirst 服务进行了更改(例如,各种推送服务合并为一个),所以我想我应该重新绑定这些服务。这解决了注册问题,但从那以后我一直无法接收推送通知。

这是我尝试过的:

  • 使用“MobileFirst Services Starter”样板创建了一个全新的后端
  • 克隆了最新版本的“ Bluelist ”示例应用程序并为这个新的后端配置了它
  • 为我的 bundle ID颁发了新的APNs 证书并上传到推送服务
  • 在我的设备上成功注册推送通知。我已经通过调用 /devices REST API验证了这一点(基本上,我遵循了这些步骤)。

现在,每次我使用REST API发送消息时(在发现不记名令牌方法已被新的“appSecret”标头替换后),我都会收到HTTP 202,但通知永远不会到达。同样,当我尝试通过服务的仪表板发送消息时,我会收到一条成功消息,但通知永远不会到达。

我注意到的一件事是,即使我不提供 . p12证书到服务,所以我想知道这是否可能是一些证书问题,但我不知道如何追踪它。此外,IIRC 的“旧”MobileFirst 服务要求我提供移动应用程序的捆绑 ID 和版本,但现在似乎已经不存在了。任何帮助是极大的赞赏。

4

1 回答 1

2

通过确保沙盒环境使用沙盒 .p12 文件,我们能够解决上述问题。要验证此设置,请转至 IBM Push Notification Dashboard并单击配置选项卡

在此处输入图像描述

在这里您可以看到您上传的 .p12 文件的证书类型。确保您使用的是沙盒环境,它被列为沙盒。生产环境也是如此。

于 2015-10-13T12:41:20.947 回答