情况:我们在不同的后端 URL 上安装了 PROD 和 DEV APN 证书。生产证书有效!:推送已交付。
DEV 证书不起作用,Apple 服务器返回错误代码 7(无效令牌)。我已经检查了所有的东西,但可能我仍然缺少一些东西。
- 应用程序 ID 正确(与产品相同)
- 我使用正确的后端(安装了 DEV 证书)
- 我在 DEBUG 模式下从 XCode 启动应用程序(对应于 DEV 环境)
- 我使用来自同一帐户的正确应用程序开发证书
- 我使用正确的开发配置文件(其中支持推送)
应该真的有效吧?
情况:我们在不同的后端 URL 上安装了 PROD 和 DEV APN 证书。生产证书有效!:推送已交付。
DEV 证书不起作用,Apple 服务器返回错误代码 7(无效令牌)。我已经检查了所有的东西,但可能我仍然缺少一些东西。
应该真的有效吧?
如果是 IOS 9,请从 Apple Production Push 通知证书发送通知,它将起作用。
从生产 APS 证书制作 pem 文件,并在开发和生产模式中使用此文件。
此外,在这两种情况下都使用生产网关,即“gateway.push.apple.com:2195”
即使您在开发模式下发送通知,也不要使用“gateway.sandbox.push.apple.com:2195”。
手机返回的推送通知的设备令牌在生产和开发中是不同的。向 APNS 发出请求时,请确保您的服务器使用实际的开发设备令牌(我不是在谈论证书,而是在谈论设备标识符)。
如果您的设备已经运行了应用程序的生产版本,则生产令牌可能在您的数据库中,并且您的服务器可能会尝试使用它。不过,这取决于您如何处理用户帐户。