我的AWS SNS已停止向iOS上的订阅者发送推送通知,我正在尝试了解原因。所以我从头开始,目的是向我的测试设备发送1个通知。
我做了以下事情:
我刚刚在CloudWatch Logs中收到此错误:
"providerResponse": "NotificationErrorResponse(command=8, status=InvalidToken, id=1, cause=null)"
我已经完成了几次这个过程,创建了新证书,尝试了旧证书,多次重新安装了应用程序等等。当我看到大多数证书时,我甚至跑过this issue of the Apple CA certificate expiring today我的钥匙串显示为红色,并显示“此证书有无效的发行人”,但显然这不应该是苹果公司的问题(上述情况也是如此)。
我觉得我已经用尽了我在这里可以做的研究。
我错过了什么?
或者我该如何调试呢?我使用我可以成功“ssh”到APN服务器的凭据,有没有办法交互式地找出那里的东西?
更新
可能是我正在尝试使用“生产”证书但是在使用Xcode构建的应用程序中?这个新证书不适用于Sandbox / dev和生产版本吗?
答案 0 :(得分:2)
回答这个问题的最直接方法是回答这个问题:
可能是我正在尝试使用“生产”证书但是在使用Xcode构建的应用程序中?这个新证书不适用于Sandbox / dev和生产版本吗?
简单来说......不是真的。你可以尝试将其关闭,但这很奇怪。您必须创建一个临时分发并将其加载到手机上才能使其正常工作。每次单击在Xcode中运行时,它都会运行发布证书(AKA 开发配置文件。除非您已在方案设置中更改了此项。您无法使用开发证书运行生产APNS。
要展开 - 生产推送通知证书与分发临时配置文件匹配 - 沙箱推送通知证书适用于开发人员临时档案
从Xcode运行到手机的任何内容都会运行开发人员个人资料,除沙箱证书外。点击存档后,