使用C#Push的推送通知Sharp库在生产服务器上不起作用

时间:2016-01-18 14:18:23

标签: c# apple-push-notifications pushsharp moonapns

生成证书后,我只在Keychain访问中导出私钥(没有证书),导出为.p12并使用该文件,但没有工作。我只导出了证书并导出为.p12并使用了该文件,但它也没有工作。

例外是:

您已选择生产服务器,但您的证书似乎不是生产证书!请检查以确保您拥有正确的证书!

如果我使用与MoonAPNS库相同的.p12,它可以正常工作,但不能与PUSHSHarp库一起使用。我只使用push sharp进行无声通知。

1 个答案:

答案 0 :(得分:11)

Apple推出了一项新的统一推送通知证书,该证书对Sandbox和Production服务器都有效。此新证书与主题名称略有不同(它用于包含 Apple Production IOS推送服务 Apple Development IOS推送服务,现在它包含 Apple推送服务)。

PushSharp 2.x不知道这种新格式,仍然希望验证旧的主题名称,因此它认为您的证书无效。

建议使用PushSharp 3.x(目前在NuGet上提供预发布),并正确验证新类型的证书。我建议更新到3.x版本(当然,其中涉及一些重大的API更改)。

如果您仍然坚持使用PushSharp 2.x,则可以通过在disableCertificateCheck类构造函数中将true参数设置为ApplePushChannelSettings来覆盖证书验证。