ошибка при отправке уведомления с помощью PushSharp 2.2.1.0 iOS

Я использую PushSharp версии 2.2.1.0 и ссылаюсь на библиотеки «PushSharp.Core» и «PushSharp.Apple» для iOS. Я снял все ограничения с брандмауэра для того же, потому что это касалось некоторых проблем с безопасностью.

Я экспортировал сертификат с устройства с ключом или без ключа. При отправке уведомления мой код зависает в методе stopAllServices() класса PushBroker. И в некоторых случаях, когда я устанавливаю SkipSsl=true для ApplePushChannelSettings (я не использую ssl), я получаю сообщение об ошибке «Учетные данные, предоставленные пакету, не были распознаны " который также был выпущен здесь давным-давно :https://code.google.com/p/apns-sharp/issues/detail?id=3. после достижения этого метода моя программа зависает. вот мой код:

 //Create our push services broker
        var push = new PushBroker();

        //Wire up the events for all the services that the broker registers
        push.OnNotificationSent += NotificationSent;
        push.OnChannelException += ChannelException;
        push.OnServiceException += ServiceException;
        push.OnNotificationFailed += NotificationFailed;
        push.OnDeviceSubscriptionExpired += DeviceSubscriptionExpired;
        push.OnDeviceSubscriptionChanged += DeviceSubscriptionChanged;
        push.OnChannelCreated += ChannelCreated;
        push.OnChannelDestroyed += ChannelDestroyed;


        var appleCert = File.ReadAllBytes(FileHelper.CERTIFICATEFILE);
        X509Certificate2 Cert = new X509Certificate2(appleCert, FileHelper.PASSWORD, X509KeyStorageFlags.MachineKeySet);
 push.RegisterAppleService(new ApplePushChannelSettings(false, appleCert, FileHelper.PASSWORD)); 
   push.QueueNotification(new AppleNotification()
                                       .ForDeviceToken(DeviceID.ToUpper()/*my device id*/)
                                       .WithAlert("my message")
                                       .WithSound("default")
                                       .WithBadge(1)
                                       .WithCustomItem("status", new object[] { "sucess") })
                                       .WithCustomItem("identifier", new object[] { "1"}));
push.StopAllServices();

Я также пытался использовать сертификат без пароля. Он запускает ChannelCreated и после этого достигает ServiceException.


person Anupam Singh    schedule 20.01.2015    source источник
comment
Просто предложение, вы пытались экспортировать свой сертификат из цепочки для ключей на вашем Mac, выберите только сертификат, а НЕ сертификат + ключ   -  person Ala' Alnajjar    schedule 08.02.2015
comment
Это была проблема при подключении к серверу apn.   -  person Anupam Singh    schedule 08.02.2015


Ответы (1)


Я обнаружил, что это работает при использовании сертификата без пароля.

person Anupam Singh    schedule 28.02.2015