我正在使用最新的通知框架UNUserNotificationCenter来调度本地通知。
我正在共享一些代码片段,在其中我引用了触发器/访问触发器。不按顺序读取此内容。它只是我读取或修改触发器的代码片段。
变量触发器= UNCalendarNotificationTrigger.CreateTrigger(notification.ScheduledTime.DateTimeToNSDateComponents(),false);
trigger.DateComponents.Hour = trigger.DateComponents.Hour + 7;
var触发器= (UNCalendarNotificationTrigger)(notification.Trigger);
这在没有任何编译错误的情况下工作,而且通知也有效。过去几个月,我们在应用程序商店里有这段代码。很晚了,我们看到了以下消息的崩溃。我没有在代码中引用UNNotificationTrigger。顺便说一下,这是xamarin IOS应用程序。
System.MemberAccessException:不能创建UserNotifications.UNNotificationTrigger的实例,因为它是一个抽象类
发布于 2018-10-11 13:59:58
这是Xamarin.iOS中的一个问题,我们希望解决这个问题。
正在发生的事情是,trigger在某个点消失或被收集,它随后被重铺,并且重铺不知道这方面的实际隐藏的具体实现,所以您得到了上面的消息。
目前最好的解决方法是在托管代码中保持一个指向trigger的指针,从而确保不会触发重铺。
我们在这里追踪到:
https://github.com/xamarin/xamarin-macios/issues/3935#issuecomment-381200652
https://stackoverflow.com/questions/52710769
复制相似问题