AWS SNS/APNS生产环境推送失败但沙箱环境正常问题排查
排查AWS SNS iOS推送InvalidPlatformToken问题的步骤
- 核对证书与环境的匹配性
- 确保AWS SNS平台应用选择的环境(Sandbox/Production)和上传的推送证书完全对应:本地调试、TestFlight测试用Sandbox证书;Ad Hoc、App Store版本用Production证书,两者不能混用。
- 检查设备令牌的处理逻辑
- 确认App中获取的APNs令牌转换为字符串时无错误:必须是小写十六进制字符串,避免出现大写字符、多余空格或截断。传递给AWS SNS创建端点的令牌要和App获取的原始令牌完全一致。
- 确认证书导出流程正确
- 从钥匙串导出证书时,必须选择包含私钥的.p12格式文件,导出时设置密码(上传至AWS SNS时需输入对应密码)。导出前检查钥匙串中证书状态为有效(显示蓝色三角,展开可见对应私钥)。
- 验证AWS SNS平台应用配置
- 确认创建的平台应用类型为Apple Push Notification service,且环境设置与证书匹配。上传证书后,检查AWS控制台是否显示证书验证通过的状态。
- 检查应用的推送权限配置
- 在App的
Info.plist中确认UIBackgroundModes包含remote-notification项;在Xcode Capabilities中开启Push Notifications,并重新生成Provisioning Profile,确保其关联了正确的推送证书。
- 在App的
- 保持测试环境一致性
- 使用第三方工具测试推送时,选择与App运行环境、证书一致的选项(如本地调试选Sandbox环境,正式版本选Production)。
内容的提问来源于stack exchange,提问作者Mark Lamb
相关产品推荐
相关产品推荐

