【问题标题】:PushSharp iPhone push-notification doent workPushSharp iPhone 推送通知不起作用
【发布时间】:2016-01-02 07:06:48
【问题描述】:

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

它曾经工作过......现在我不断收到这个异常:

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

请帮帮我。

【问题讨论】:

  • 您是在测试开发模式还是生产模式?
  • 您的代码似乎没问题。我敢打赌,你的证书一定有问题。尝试使用密码重新生成它。我有两个证书(生产和开发),但我告诉 Pushsharp 两者都是生产。沙盒有一些问题...

标签: cordova pushsharp apn


【解决方案1】:

Apple 改变了他们生成证书的方式,现在证书中的名称不一样了,所以没有办法检查它是 Production 还是 Sandbox 证书,这是 PushSharp 以前做的(除了验证它)是这两种可能性之一)。

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多