UNUserNotification不会在iOS 12下触发我的本地通知

时间:2018-09-21 07:36:17

标签: ios swift unusernotificationcenter

在代码中,我尝试这样做:

if ((object.nullablebool.HasValue ? object.nullablebool.Value : false )
&& (string == "V" || string == "N") 
&& someDate.HasValue && object.SomeOtherDate.HasValue 
&& someDate.Value.Date > dateFrom.Date)
{
     // if body
}

所有操作均在import UserNotifications if #available(iOS 10.0, *) { let center = UNUserNotificationCenter.current() center.requestAuthorization(options: [.alert, .sound]) { _, _ in } let content = UNMutableNotificationContent() content.title = "Hello Staff" content.body = "Customer just ordered a milk with croissant" content.sound = UNNotificationSound.default() let date = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: Date(timeIntervalSinceNow: 10)) let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: false) let request = UNNotificationRequest(identifier: "abcde", content: content, trigger: trigger) center.add(request) } 内发生。但是我看不到任何本地通知。为什么?

1 个答案:

答案 0 :(得分:1)

您的代码运行正常。我想问题是当您收到通知时您的应用程序处于活动状态。 iOS仅在该应用程序未激活时显示系统通知。如果通知触发时应用程序处于活动状态,则系统会触发UNUserNotificationCenterDelegate方法,以便您可以自行处理通知。

因此,由于您将通知时间设置为延迟10秒,因此需要运行您的应用程序,然后关闭它并等待10秒。如果您授予您的应用这样的权限,则会显示通知。