2016-06-30 6 views
5

PushSharp 4.0.10, MVC 4 with C#
Apns 브로커의 OnNotificationFailed 이벤트에서 ConnectionError 예외가 발생합니다.
이 예외는 인증서 (.p12) 파일을 변경 한 후 갑자기 발생했습니다. 이 변경 전에는 정상적으로 작동했습니다.
이 오류를 해결하는 방법을 알려주십시오. 생성자를 apnsconfiguration, 또는 다른 validateIsApnsCertificate (부울) 매개 변수를 제거 만 처음 두 개의 매개 변수를 전달하여PushSharp Apns 알림 오류 : 'ConnectionError'

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(); 

답변

0

보십시오. 처음 세 개의 매개 변수가 제대로 작동합니다.

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

나는 똑같은 문제를 겪고 있는데, 나에게 도움이되지 못했다. – Angel

+0

해결책을 찾았습니까? – user3151766

1

이 오류는 사용하신 인증서가 밀어 넣기 기능을 사용할 수 없기 때문에 발생합니다.

사과 ID에서 활성화하고 새 인증서 (.12) 및 프로비저닝 프로파일을 만들어야합니다.

새 인증서로 시도하면 오류가 해결됩니다.