UNUserNotification не запускает мое локальное уведомление под iOS 12 - PullRequest
0 голосов
/ 21 сентября 2018

В коде я пытаюсь сделать это так:

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)
}

Все происходит в AppDelegate.Но я не вижу ни одного локального уведомления.Почему?

1 Ответ

0 голосов
/ 21 сентября 2018

Ваш код работает нормально.Я думаю, проблема в том, что ваше приложение активно, когда вы получаете уведомления.iOS показывает системные уведомления, только если приложение не активно.Если приложение активируется при срабатывании уведомлений, система запускает метод UNUserNotificationCenterDelegate, чтобы вы могли обработать уведомление самостоятельно.

Поэтому, поскольку вы устанавливаете время уведомления с задержкой на 10 секунд, вам необходимозапустите приложение, затем закройте его и подождите 10 секунд.Уведомление должно появиться, если вы дадите своему приложению такое разрешение.

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