System.MemberAccessException: не удалось создать экземпляр UserNotifications.UNNotificationTrigger, поскольку он является абстрактным классом - PullRequest
0 голосов
/ 09 октября 2018

Я использую последнюю платформу уведомлений UNUserNotificationCenter для планирования локальных уведомлений.

Я делюсь некоторыми фрагментами кода, где я упоминаю триггер / доступ к триггеру. Не читайте это последовательно.Это просто фрагменты кода, где я читаю или изменяю триггер

var trigger = UNCalendarNotificationTrigger.CreateTrigger (tification.ScheduledTime.DateTimeToNSDateComponents (), false);

trigger.DateComponents.Hour =trigger.DateComponents.Hour + 7;

var trigger = (UNCalendarNotificationTrigger) (messages.Trigger);

Это работает без каких-либо ошибок компиляции, и уведомление также работает.У нас есть этот код в магазине приложений за последние несколько месяцев.В конце мы видим сбой с сообщением ниже.Я не ссылался на UNNotificationTrigger в моем коде.Кстати, это приложение xamarin IOS.

System.MemberAccessException: не удается создать экземпляр UserNotifications.UNNotificationTrigger, поскольку он является абстрактным классом

1 Ответ

0 голосов
/ 11 октября 2018

Это проблема в Xamarin.iOS, которую мы собираемся исправить.

То, что происходит, заключается в том, что trigger исчезает или собирается в какой-то момент, а затем снова появляется, иresurfacing не знает о фактической скрытой конкретной реализации для этого, поэтому вы получите сообщение выше.

На данный момент лучший обходной путь - сохранить указатель на trigger в управляемом коде, таким образом гарантируя, чтошлифовка никогда не запускается.

Мы отслеживаем это здесь:

https://github.com/xamarin/xamarin-macios/issues/3935#issuecomment-381200652

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...