Apple推送通知服务疑难解答

时间:2016-03-20 15:43:34

标签: amazon-web-services apple-push-notifications amazon-sns

我的推送通知大约一个月前就开始了。我正在制作推送通知。由于其他活动,我暂时没有在我的项目上工作,当我回来时,我再也无法发送推送通知了。

创建了与我的生产sns相关联的日志后,我注意到了这一点:

  

" delivery":{           " deliveryId":" d3675e8a-45b0-58db-9b79-11e284987bbb",           "目的地":" arn:aws:sns:us-east-1:445291524102:endpoint / APNS / BusyTime / 587673f1-cf48-3b3e-9e74-04d39f8affc3",           " providerResponse":" NotificationErrorResponse(command = 8,status = InvalidToken,id = 1,cause = null)",           "停留时间":319,           "尝试":1,           "令牌":" 55d7b18b064eecad93fb666818651d4f33b612487ee810b092f081cef41d4e43",           " statusCode":8       },

在调查此事后,我开始尝试检查我的凭据,看看我是否可以进入服务器。

我尝试使用苹果文档导致我执行此命令:

viewState

我使用Raywenderlich.com教程设置了一段时间并使用此命令再次检查出来:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert BusyTimeProductionKey.pem -debug -showcerts -CAfile ProductionAPS.pem

这两个都吐出了大量的输出并给了我这一行来表明连接没问题: SSL握手已读取3160个字节并写入2319个字节

但是,我也注意到这一行看起来像是有效的:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert ProductionAPS.pem -key BusyTimeProductionKey.pem

错误行是否与此错误有关?如果没有,我该如何解决我的这个问题呢?请记住,我已经在xcode中设置了调试点,手动抓取了我测试的设备的设备令牌,并将其插入sns控制台以隔离它没有坏令牌。感谢您的时间和考虑。我也有一个理论,我可能没有使用正确的配置文件。我是否需要检查我是否使用生产配置文件?如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果您尝试直接从XCODE运行应用程序,则需要使用APNS_SANDBOX端点,而不是上面示例中的APNS端点。一旦“部署”了应用程序(通过TestFlight或AppStore),非沙箱(APNS)端点就可以正常工作。

答案 1 :(得分:0)

事实证明,sns并不是问题所在,正如我在问题中所述,它也是APNS。我正在从xcode下载我的应用程序,我想它并没有为我提供正确的设备令牌用于生产。我还没有尝试过,但当我恢复到应用程序商店中最新的版本时,它开始工作了。当我在xcode上找到我最近的版本时,它停止了工作。我想在应用程序商店和不在应用程序商店时,设备令牌的生成是不同的。