Twilio Chat IOS 生产 APN 认证错误-52131

Ben*_*ith 2 push-notification apple-push-notifications twilio twilio-programmable-chat

我在使用生产 APN 认证的 Twilio Chat 上接收通知时遇到问题,收到错误消息:

错误 - 52131 APNs 凭据无效 可能的原因 凭据(证书和私钥)无效。证书已过期。可能的解决方案确保您的凭据中提供了有效的证书和私钥。

当我测试我的沙箱 APN 证书时,推送通知工作正常。

但是,当我创建 APN 推送服务认证并上传这些并将它们链接到我的可编程聊天功能时,我收到错误消息:52131 - 无效的 APNs 凭据... https://www.twilio.com/console/runtime/debugger/NOf2857a6c1db54e27984dd8fa9ff5100f

需要澄清的是,推送通知在我的开发项目中完美运行。我使用 Sandbox APN 证书,并选择 Sandbox 复选框

但是在生产版本中,我使用的是:

  • 特定 APN Apple 推送服务证书,对于唯一的 APP ID,我收到 52131 错误。
  • 我没有勾选用于发送到沙箱凭据。因为它是推送凭证
  • 我完美地遵循了导出证书密钥的所有说明。
  • 我还使用单独的 API 密钥和单独的可编程聊天。
  • 我收到绑定注册,但没有通知,因为证书无效,当我通过多次重新生成证书进行检查时,我不明白为什么

我在一些对类似问题的回复中读到,沙盒和推送服务 APN 证书位于同一应用程序 ID 中?或者不使用相同的CertificateSigningRequest来生成沙箱和PUSH?为什么这会产生影响?

这是线程:https://github.com/twilio/voice-quickstart-objc/issues/101

Ben*_*ith 6

经过几周向 Twilio 支持人员发送电子邮件后,我终于找到了答案。

基本上,问题可能是因为我以某种方式从分发证书中提取了密钥,而不是推送证书。因此,请确保您从正确的认证中提取正确的密钥。另外,因为我从 Twilio 中删除和删除推送凭据,所以我的用户的绑定经常指向不存在的旧推送凭据,因此我删除了这些绑定,允许重新生成连接到新推送证书 SID 的新绑定。

对于 twilio 可编程聊天上的生产通知来说其他重要的事情:

  • 确保您的环境权利文件设置为“生产”
  • 不要选中生产证书上的沙箱选项(当然)
  • 有时,使用沙箱证书上使用的 certsigningrequest 创建推送证书时可能会出现问题。尝试创建一个仅用于生产的新证书签名文件
  • 当您测试生产通知时,这些通知仅适用于使用您的分发证书构建的应用商店版本。您无法在模拟器上接收通知(显然)。您无法从使用开发证书构建的应用程序接收通知...因此您需要构建应用程序并将其上传到 testflight 以测试通知,然后最好在两个真实设备之间进行测试...或者只是将通知从模拟器发送到设备一个应用程序商店/临时构建在其上

我现在无法得知我所遇到的任何其他事情。Twilio 支持非常好,如果您需要帮助,他们会尽力回答您的问题。