【发布时间】:2018-10-08 22:12:16
【问题描述】:
我正在使用最新的通知框架 UNUserNotificationCenter 来安排本地通知。
我正在分享一些代码 sn-ps,我指的是触发器/访问触发器。 不要按顺序阅读。这只是我读取或修改触发器的代码 sn-ps
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 的实例,因为它是一个抽象类
【问题讨论】:
-
查看堆栈跟踪;异常发生在哪一行?
-
你有没有象征性的崩溃?
-
mono_handle_exception_internal mini-exceptions.c - 第 2313 行 System.MemberAccessException:无法创建 UserNotifications.UNNotificationTrigger 的实例,因为它是一个抽象类。是我在崩溃日志中看到的
-
@SushiHangover 是的。它是象征性的
-
您需要查找堆栈以查看调用构造函数的位置。为什么要将触发器投射到
UNCalendarNoticicationTrigger?这是 C# 的事情吗?该类型本质上是未知的吗?
标签: ios xamarin xamarin.ios