这听起来可能很奇怪,但我看不出任何其他解释。
我已经在 Bluemix 上设置了 IBM Push Notifications,这是我之前完成的。出于某种原因,在我构建的这个新应用程序上。每当我发送推送通知时,它都没有通过,我尝试再次发送,它告诉我没有设备。
我今天才遇到这种情况,可能是服务问题?
我尝试/注意到的一些事情:
- 我的设备正在注册并通过控制台从服务接收成功消息。
- 我只有 1 台设备,但监控现在告诉我有 7 台设备已注册通知。
- 当使用 Web 控制台发送推送通知时,第一次显示成功(但没有通过),再次单击显示
Internal Server error: No devices found
。 - 使用 swagger 文档,我输入我的 appID 并搜索设备,但没有出现。我运行该应用程序,一个出现,我将应用程序置于后台,一个仍然出现。我通过 swagger 发送通知,说成功,检查注册设备,返回空数组。
- 我的 iOS 应用程序中的代码仅限于为
IMFPush
/IMFCore
cocoapods 提供的示例,用于注册。我没有任何类型的退订代码。 - 我已在不运行任何 node.js 代码或仅使用 swagger/web 控制台工具的 iOS 代码的情况下验证了这一点。
- 我正在使用之前用于其他应用的沙盒配置文件。
- 我已删除 IMF 推送服务并重新创建。
如有任何帮助/见解,我们将不胜感激。
最佳答案
@Simon 请重新下载推送沙箱证书并将其作为 .p12 从钥匙串(keychain)中导出。这似乎已经解决了问题。虽然一个错误的私钥给你“无效 token ”似乎很奇怪。因此,当您尝试向无效 token 设备发送通知时,苹果服务器正在删除这些设备。请确保您按照正确的步骤生成沙盒或生产证书 https://console.ng.bluemix.net/docs/services/mobilepush/t_push_provider_ios.html
关于ios - 发送推送后取消注册设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35898187/