Swift: обработка уведомлений на переднем плане без открытия приложения - PullRequest
0 голосов
/ 19 ноября 2018

Я создал уведомление с помощью действия кнопки «Отложить», оно работает правильно, когда приложение находится в фоновом режиме, но когда я убиваю приложение на переднем плане, как только я получаю уведомление и нажимаю на него действие «Отложить» уведомление, это открывает приложение.Я хочу запустить функцию, не открывая приложение.

Кнопка действия:

let snoozeAction = UNNotificationAction(identifier: Notification.Action.snooze, title: "SNOOZE_10_MIN".localized, options: [.foreground])

Мой didReceive:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        if response.actionIdentifier == Notification.Action.snooze {
            snoozeHandler()
        }

        completionHandler()
}

Я прочитал в Интернете, что я могу пойматьуведомление в didLaunshFinishWithOption в AppDelegate

Примерно так:

if let localNotification = launchOptions?[.localNotification] {
        LocalNotification.create.repeatNotificationIn10Min()
}

Но launchOptions?[.LocalNotification] устарело, и в любом случае, когда я получаю уведомление, я не помещаюсь вусловие .. Может быть, потому что это устарело, так как я могу заменить его:

'localNotification' was deprecated in iOS 10.0: Use UserNotifications Framework's -[UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]

Как и как лучше всего запустить функцию переднего плана, не открывая приложение?

Заранее спасибо.

...