APNS PushSharp在生产环境中无法工作

3

我正在使用APNS Sharp来发送IOS推送通知。在开发环境中,我已经成功使用了它。但是当应用程序上线后,它就不再工作了。我已经将推送证书更改为部署证书,并更改了代码以指向苹果服务器。

push.RegisterAppleService(new ApplePushChannelSettings(true,appleCert, certificatePassword));

我没有收到任何错误信息,但是设备也没有收到任何通知。在这里,我试图向单个设备发送通知。

我应该如何正确地执行此操作?

谢谢。


1
你确定你正在使用生产设备令牌吗? - Eran
你的防火墙是否阻止了向苹果生产环境发送APNS消息? - CSmith
@Zach,你解决了吗?我也有同样的问题 =( - Ezeki
@Ezeki 是的,它现在对我起作用了。我之前发送的是开发令牌,这就是原因。 - Zach
此问题的解决方案请参考以下链接:https://dev59.com/KmAg5IYBdhLWcg3wq8eU?rq=1 - Elangovan
为开发创建的证书在生产环境中无法使用,务必确保使用正确的证书。 - MosheG
1个回答

1
我已经解决了这个问题。我再次撤销并重新生成了证书,这次只导出了私钥(没有证书)在Keychain访问中,导出为.p12文件并使用新文件,然后它就可以工作了。由于某种原因,当文件中同时存在证书和私钥时,PushSharp与.p12不兼容。

一个.p12(PKCS#12)文件包含密钥和一个或多个证书。如果您将其转换回文本(pem),则可以同时查看两者。openssl pkcs12 -in apns.p12 -passin 'pass:mypass' -passout 'pass:' -nodes -clcerts >apns.pem。我在其他地方读到过,从顶级节点导出使用公钥。https://dev59.com/hmUo5IYBdhLWcg3w7TCT#34472980。您可以使用openssl检查pem的有效性是否与Apple的服务器匹配:https://support.pubnub.com/support/solutions/articles/14000043600-how-do-i-test-my-pem-key- - johnk73

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接