我尝试使用pushsharp nuget
向IOS APN发送推送。
push.RegisterAppleService(new ApplePushChannelSettings(false, applecert, ""), serviceSettings);
AppleNotification notif = new AppleNotification().ForDeviceToken(deviceToken)
.WithAlert(message)
.WithBadge(1)
.WithSound("default");
push.QueueNotification(notif);
//wait for queue to finish
push.StopAllServices(true);
它工作过一次......现在我不断得到这个例外:
您已选择开发/沙箱(非生产)服务器 您的证书似乎不是开发/沙盒 证书!请检查以确保您拥有正确的证书!
请帮帮我。
答案 0 :(得分:0)
Apple改变了他们生成证书的方式,证书中的名称现在不同了,因此无法检查它是否是生产或沙盒证书,这是PushSharp过去常做的事情(除了验证它之外)是这两种可能性之一。)
要解决此Apple更改而不更新PushSharp,您可以使用正确的构造函数禁用证书检查:
ApplePushChannelSettings(false, applecert, "", disableCertificateCheck: true)
最后,您应该查看PushSharp的3.x版本,因为此问题已修复,通常它是一个更稳定的版本。它也是HTTP / 2 APNS提供商开发将要发生的地方。很快就会弃用PushSharp 2.x。
答案 1 :(得分:0)
这是证书...... :) 我错误地导出了私钥而不是公钥。 现在它的开发模式和工作。 我将在这里更新如何进入生产模式。 谢谢!