我正在使用最新的通知框架UNUserNotificationCenter安排本地通知。
我正在共享一些代码片段,其中提到了触发器/访问触发器。 请勿顺序阅读。只是我阅读或修改触发器的代码段
var trigger = UNCalendarNotificationTrigger.CreateTrigger(notification.ScheduledTime.DateTimeToNSDateComponents(),false);
trigger.DateComponents.Hour = trigger.DateComponents.Hour + 7;
var trigger =(UNCalendarNotificationTrigger)(notification.Trigger);
这有效,没有任何编译错误,并且通知也有效。过去几个月以来,我们在应用商店中都有此代码。迟到了,我们看到下面的消息崩溃了。我没有在代码中引用UNNotificationTrigger。顺便说一句,这是xamarin IOS应用程序。
System.MemberAccessException:无法创建UserNotifications.UNNotificationTrigger的实例,因为它是抽象类
答案 0 :(得分:0)
这是我们希望修复的Xamarin.iOS中的问题。
正在发生的情况是trigger
在某个时候消失或被收集,随后又重新浮出水面,并且重新铺装不知道其实际隐藏的具体实现,因此您得到了以上消息
目前最好的解决方法是在托管代码中保持指向trigger
的指针的活动状态,从而确保从不触发重铺表面。
我们正在这里跟踪:
https://github.com/xamarin/xamarin-macios/issues/3935#issuecomment-381200652