2016-11-11 1 views
0

Я пытаюсь просто настроить push-уведомления для приложения Xamarin iOS. Я убедился, что я использую профиль обеспечения, который имеет необходимые разрешения (включение push-уведомлений в портале разработчиков iOS). Я подтвердил, что использую указанный профиль обеспечения в своем приложении. В моей AppDelegate, в методе FinishedLaunching, я выполнив следующий код:Удаленные методы недопущения

 if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) 
     { 
      var pushSettings = UIUserNotificationSettings.GetSettingsForTypes(
           UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, 
           new NSSet()); 

      UIApplication.SharedApplication.RegisterUserNotificationSettings(pushSettings); 
      UIApplication.SharedApplication.RegisterForRemoteNotifications(); 
     } 
     else 
     { 
      UIRemoteNotificationType notificationTypes = UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound; 
      UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(notificationTypes); 
     } 

Я могу успешно увидеть подсказку, которая запрашивает у пользователя, если они хотят, чтобы уведомления толчка. Проблема здесь в том, когда я нажимаю на Allow, ни один из следующих преобладающих методов получить удар:

RegisteredForRemoteNotifications
FailedToRegisterForRemoteNotifications

Я также проверил, что в моих настройках проекта IOS, я Enable BackgroundModes проверил, как хорошо как проверено RemoteNotifications.

У кого-нибудь была проблема с этим, и если да, то как вы решили?

+0

Вы случайно испытываете его на тренажере? На симуляторе он бесшумно терпит неудачу, но на самом деле он не поддерживается и должен хотя бы выкидывать ошибку, но кто я такой, чтобы сказать. – nullpotent

+0

Хороший вопрос, но нет. Я использую свое устройство. – jdmdevdotnet

+1

Вы на ios 10? Были некоторые [изменения] (https://blog.xamarin.com/getting-started-with-the-ios-10-notification-framework/) – nullpotent

ответ

0

Ничего себе. Я чувствую себя глупо.

Таким образом, получается, что Xamarin.Forms можно отладить через точки останова, даже если для вашей конфигурации решений установлено значение Release. Но конкретный код платформы не может быть отлажен с помощью точек останова, если для конфигурации вашего решения установлено значение Release. Установив его на Debug, он зафиксировал его. Я просто никогда не думал об этом, учитывая, что вы можете отлаживать контрольные точки при выпуске в Xamarin.Forms.

Смежные вопросы