Как сделать локальные уведомления на Swift?

Для создания локальных уведомлений в приложении на Swift вам потребуется использовать фреймворк UserNotifications. Вот пошаговая инструкция о том, как сделать это:

Шаг 1: Импортирование фреймворка UserNotifications
В самом начале файла, в котором вы хотите использовать локальные уведомления, добавьте импорт фреймворка UserNotifications:

import UserNotifications

Шаг 2: Запрос на получение разрешения на отправку уведомлений
Для того чтобы ваше приложение могло отправлять локальные уведомления, оно должно получить разрешение от пользователя. Для этого добавьте следующий код в метод didFinishLaunchingWithOptions в вашем AppDelegate:

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
//Обработка ответа пользователя
}

Этот код попросит пользователя разрешить отправку уведомлений с помощью алерта, воспроизведение звука и отображение значка бейджа.

Шаг 3: Создание содержимого вашего уведомления
Для создания содержимого уведомления используйте класс UNMutableNotificationContent. Он позволяет настроить заголовок, текст и другие свойства вашего уведомления:

let content = UNMutableNotificationContent()
content.title = "Заголовок вашего уведомления"
content.body = "Текст вашего уведомления"
content.sound = UNNotificationSound.default

Шаг 4: Создание триггера для уведомления
Далее вам понадобится создать триггер, который указывает, когда должно быть отправлено ваше уведомление. Например, вы можете настроить его на определенное время или на определенное поведение пользователя. Вот несколько примеров:

Время:

let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10, repeats: false)

Поведение пользователя:

let trigger = UNNotificationAction.userInitiatedTrigger(repeats: false)

Шаг 5: Создание запроса на уведомление
Теперь объедините ваше содержимое и триггер в запрос на уведомление и добавьте его в центр уведомлений:

let request = UNNotificationRequest(identifier: "Уникальный идентификатор вашего уведомления", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: { (error) in
//Обработка ошибок
})

Шаг 6: Обработка действий пользователя
Если пользователь взаимодействует с вашим уведомлением (например, нажимает на него), это также можно обработать. Для этого добавьте метод в вашем AppDelegate:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
//Обработка действий пользователя
}

Это позволит вашему приложению реагировать на различные действия пользователя, такие как нажатие кнопки внутри уведомления.

Это основные шаги для создания локальных уведомлений на Swift с использованием UserNotifications. Не забудьте настроить и добавить делегата UNUserNotificationCenter в AppDelegate, чтобы ваше приложение могло обрабатывать уведомления.