После получения соответствующих разрешений для фоновых уведомлений в вашем приложении и принятия 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)")
}
})
}
Отказ от ответственности: примените решение в соответствии с вашими потребностями и спросите, если что-то не так. Этот код предназначен для запуска фоновых уведомлений.