使用 C# 推送尖锐库的推送通知在生产服务器上不起作用
本文关键字:服务器 不起作用 使用 通知 | 更新日期: 2023-09-27 18:30:53
生成
证书后,我只导出了钥匙串访问中的私钥(没有证书),导出为.p12并使用了该文件,并且没有工作。我只导出了证书并导出为 .p12 并使用了该文件,但它也没有工作。
例外情况是:
您已选择生产服务器,但您的证书似乎不是生产证书!请检查以确保您拥有正确的证书!
如果我在 MoonAPNS 库中使用相同的 .p12,它可以正常工作,但不适用于 PUSHSHarp 库。 我仅将 push sharp 用于静默通知。
Apple 推出了新的统一推送通知证书,该证书对沙盒和生产服务器均有效。 这个新证书的使用者名称略有不同(它曾经包含 Apple Production IOS Push Services 或 Apple Development IOS Push Services,现在它包含 Apple Push Services)。
PushSharp 2.x 不知道这种新格式,仍然希望旧的使用者名称进行验证,因此它认为您的证书无效。
建议使用 PushSharp 3.x(NuGet 上当前提供预发布版本),并正确验证新类型的证书。 我建议更新到 3.x 版本(当然,这涉及一些重大的 API 更改)。
如果您仍然坚持使用 PushSharp 2.x,则可以通过在 ApplePushChannelSettings
类构造函数中将 disableCertificateCheck
参数设置为 true
来覆盖证书验证。