Руководство по SwiftUI AlarmKit — Настоящие будильники с Live Activities (2026)
Noah Does Coding
0:00 / 0:00
Руководство по SwiftUI AlarmKit — Настоящие будильники с Live Activities (2026)
477 просмотров · 2 месяца назад
Noah Does Coding
5,17 тыс. подписчиков
477 просмотров · 2 месяца назад
Уведомления отключаются. AlarmKit — нет.
Создайте таймер для приготовления пищи в SwiftUI, который отображает обратный отсчет в реальном времени на экране блокировки и динамическом острове — и запускает оповещение, которое прерывает бесшумный режим, режим «Не беспокоить» и фокусировку.
В этом видео рассматривается весь стек AlarmKit: планирование таймеров обратного отсчета, создание трех состояний отображения будильника, добавление пользовательских метаданных и написание Live Activity, которая управляет пользовательским интерфейсом экрана блокировки и динамического острова.
Требуется iOS 26. Протестировано на симуляторе и устройстве iPhone 17.
⭐ Репозиторий GitHub: https://github.com/NDCSwift/Simmer-Al...
📲Загрузите Focura, чтобы увидеть будильники в моем приложении: https://apps.apple.com/us/app/focura-...
→ Связанное видео: • SwiftUI Live Activities — Lock Screen, Dyn... — AlarmKit использует ActivityKit в качестве основы; Посмотрите сначала этот ролик, чтобы понять основы.
⏱️Временные метки:
00:00 — Почему уведомления — это не будильники
01:11 — Настройка проекта
02:28 — Обновление Info.plist
03:48 — Включение виджетов
05:45 — Метаданные будильника — Пользовательские данные на протяжении жизненного цикла будильника
08:36 — Представление будильника — Состояния оповещения, обратного отсчета и паузы
15:16 — Конфигурация будильника + Продолжительность обратного отсчета
23:41 — Планирование будильника + Авторизация
34:04 — Активность в реальном времени — Экран блокировки и динамический остров
48:06 — Тестирование
50:01 — Focura — пример для Appstore
50:47 — Заключение
📌 Что рассматривается:
— `AlarmManager.shared` — синглтон, который планирует, отменяет и отслеживает все будильники
— `AlarmMetadata` — пользовательские данные, доступные для кодирования который перемещается вместе с будильником в Live Activity
— `AlarmPresentation` — три состояния: оповещение, обратный отсчет и пауза, каждое со своими кнопками
— `AlarmButton` — настраиваемые кнопки действий с поддержкой App Intents
— `Alarm.CountdownDuration` — интервалы обратного отсчета до и после оповещения
— `AlarmManager.AlarmConfiguration` — полный набор параметров: атрибуты, длительность, звук
— Live Activity (`ActivityConfiguration`) — экран блокировки, динамический остров и режим ожидания
— `context.state.mode` — переключение пользовательского интерфейса Live Activity между обратным отсчетом, паузой и оповещением
#AlarmKit #iOS26 #SwiftUI #LiveActivities