我在商店中有一个iOS应用程序正在使用产品APNS环境(在iTunes中确认连接二进制详细信息),这些应用程序正在提供推送令牌,因此我必须假设所有内容都在应用程序中正确配置,否则他们会收到“无效'aps-environment'权利字符串”错误。
我正在使用Amazon SNS发送推送通知,这对其他应用程序一直运行良好,但对于此特定应用程序,所有通知都返回“与端点关联的平台令牌无效”。
我尝试通过重新发布SNS用于连接到APNS的证书来解决此问题,确认它是针对生产环境的 - 同样的问题。
我尝试删除该应用,重新发布Ad Hoc证书(位于生产环境中)并在我的手机上重新安装(删除所有具有相同应用ID的开发者证书) - 我获得相同的推送令牌,同样的拒绝问题。
所有用户都会遇到这种情况,包括那些从未安装任何应用程序的沙箱版本的用户,因此令牌不能来自沙盒环境。我不明白为什么生产APNS可能会拒绝应用程序商店应用程序的令牌问题?
答案 0 :(得分:20)
好的,我终于找到了问题。 我正在同时设置几个应用程序,因此为了方便起见,我在为SNS创建APNS证书时重用了证书签名请求。 Apple和SNS没有显示任何证据证明证书有错误,所以我认为它们没问题,但除了第一个之外的所有证书都是无效的。
由于SNS错误表示令牌无效,我认为证书没有任何问题,但在使用新的CSR重新生成后,每件事情都开始正常工作。
故事的寓意:
证书签名请求只能使用一次,重用它们不会导致任何错误,但会生成无效的APNS证书。