首页 > 解决方案 > iOS 推送通知未发送到设备

问题描述

在设置 Fastlane Match 时,我在我的 iOS 应用程序上破坏了推送通知(生产和登台)(nuke命令可能做到了)。生产正在正确记录错误。我使用 Fastlane pem命令为生产“com.app.prod”和暂存“com.app.qa”生成了新证书。它会在 Apple 开发站点上生成新的“生产”Apple Push Services 证书并创建所需的 pem 文件。

在此处输入图像描述

openssl pkcs12 -export -in "production_com.app.prod.pem" -out "com.app.prod.p12"我使用命令和openssl pkcs12 -export -in "production_com.app.qa.pem" -out "com.app.qa.p12"暂存将 prod pem 文件转换为正确的 p12 文件。将两者都上传到 AWS SNS 服务(无沙箱),没有任何问题。

在此处输入图像描述

这修复了生产服务器。它适用于我们的旧应用程序(证书更改之前)和新版本。

但是我们的 Testflight 暂存应用程序仍然损坏。它不适用于旧版或新版 iOS 应用程序。没有错误发生。应用程序正确注册 Apple 推送通知服务 (APN) 并将令牌发送到我们的服务器。使用 AWS 端点手动推送消息也不起作用,但它表示已成功发送。

在此处输入图像描述

尝试重新生成证书(确保我上传了正确的证书)。我使用相同的 iOS 设备进行所有测试。我们的 Android 通知在暂存时仍然可以正常工作。

试过http://pushtry.com,说成功了,但没有收到任何消息。还尝试了 command openssl s_client -connect gateway.push.apple.com:2195 -cert "production_com.app.qa.pem" -key "production_com.app.qa.pem",没有返回错误。

我不知道问题可能出在哪里,也不知道如何进一步调试。因此,任何建议都会有所帮助。

标签: iosamazon-web-servicesapple-push-notificationsfastlane

解决方案


推荐阅读