Как прочитать уведомление, когда приложение находится в фоновом режиме? - PullRequest
0 голосов
/ 12 ноября 2018

Я использую swift 3 и пытаюсь прочитать уведомления в didReceiveRemoteNotification

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
    print(userInfo)
}

Работает, когда приложение работает, но ничего не печатает, когда приложение работает в фоновом режиме (неактивно). Как читать уведомления, когда приложение находится в фоновом режиме (неактивно).

1 Ответ

0 голосов
/ 12 ноября 2018

После получения соответствующих разрешений для фоновых уведомлений в вашем приложении и принятия UNUserNotificationCenterDelegate в соответствующем viewController. Вы можете реализовать этот метод для запуска уведомлений в фоновом режиме и выполнения действий для выполнения любого действия из уведомления. Для выполнения каких-либо действий из уведомления вам необходимо принять функцию userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void).

func startNotifications() {




        let notificationCenter = UNUserNotificationCenter.current()

// to include any action in the notification otherwise ignore it.

        let action = UNNotificationAction(identifier: "ActionRelatedIdentifier", title: "Name which you want to give", options: [.destructive, .authenticationRequired])

        let category = UNNotificationCategory(identifier: "CategoryName", actions: [stopAction], intentIdentifiers: [],  options: [])

        notificationCenter.setNotificationCategories([category])

        let content = UNMutableNotificationContent()
        content.title = "Your Title"
        content.body = "Message you want to give"
        content.sound = UNNotificationSound.default



      // To trigger the notifications timely and repeating it or not  
           let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1.5, repeats: false)





        content.categoryIdentifier = "CategoryName"



            print("Notifications Started")

            let request = UNNotificationRequest(identifier: "NotificationRequestIdentifier", content: content, trigger: trigger)

            notificationCenter.add(request, withCompletionHandler: { (error) in
                if error != nil {
                    print("Error in notification : \(error)")
                }
            })


    }

Отказ от ответственности: примените решение в соответствии с вашими потребностями и спросите, если что-то не так. Этот код предназначен для запуска фоновых уведомлений.

...