PushSharp iPhone推送通知功能

时间:2016-01-02 07:06:48

标签: cordova pushsharp apn

我尝试使用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);

它工作过一次......现在我不断得到这个例外:

  

您已选择开发/沙箱(非生产)服务器   您的证书似乎不是开发/沙盒   证书!请检查以确保您拥有正确的证书!

请帮帮我。

2 个答案:

答案 0 :(得分:0)

Apple改变了他们生成证书的方式,证书中的名称现在不同了,因此无法检查它是否是生产或沙盒证书,这是PushSharp过去常做的事情(除了验证它之外)是这两种可能性之一。)

要解决此Apple更改而不更新PushSharp,您可以使用正确的构造函数禁用证书检查:

ApplePushChannelSettings(false, applecert, "", disableCertificateCheck: true)

最后,您应该查看PushSharp的3.x版本,因为此问题已修复,通常它是一个更稳定的版本。它也是HTTP / 2 APNS提供商开发将要发生的地方。很快就会弃用PushSharp 2.x。

答案 1 :(得分:0)

这是证书...... :) 我错误地导出了私钥而不是公钥。 现在它的开发模式和工作。 我将在这里更新如何进入生产模式。 谢谢!