PushSharp Apns 通知错误:"连接错误"



我使用的是PushSharp 4.0.10,MVC 4与c#
在apns经纪人的notificationfailefect事件中,我得到了ConnectionError例外。
此例外突然发生在更改证书(.p12)文件之后;在更改之前,它运行良好。
请建议如何对此错误进行故障排除。

var certificate = System.IO.File.ReadAllBytes(System.Web.Hosting.HostingEnvironment.MapPath("~/Content/Mobile/consumer_dev.p12"));
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, certificate, "", true);
var apnsBroker = new ApnsServiceBroker(config);
apnsBroker.OnNotificationFailed += (notification, aggregateEx) => {
    aggregateEx.Handle (ex => {
        if (ex is ApnsNotificationException) {
            var notificationException = (ApnsNotificationException)ex;
            var apnsNotification = notificationException.Notification;
            var statusCode = notificationException.ErrorStatusCode;
            Debug.WriteLine(apnsNotification.Identifier + ", " + statusCode);
        } else {
            Debug.WriteLine(ex.InnerException);
        }
        return true;
    });
};
apnsBroker.OnNotificationSucceeded += (notification) => {
    Debug.WriteLine("Apple Notification Sent!");
};
apnsBroker.Start();
foreach (var deviceToken in to)
{
    apnsBroker.QueueNotification(new ApnsNotification
    {
        DeviceToken = deviceToken,
        Payload = JObject.Parse("{"aps":" + aps.ToString().Replace('=', ':') + "}")
    });
}
apnsBroker.Stop();

此错误是因为未启用您使用的证书。

您必须从Apple ID启用它,然后创建新的证书(.12)和配置资料。

尝试使用新证书可以解决您的错误。

尝试仅通过第一个参数将两个参数传递给apnsconfiguration构造器,否则请删除ValidateIsapnScertificate(BOOL)参数。前三个参数对我来说很好。

var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, appleCert, P12Password);

最新更新