TGViewer
EasySwift iOS🍏 EasySwift iOS🍏 @swift_ioss · 2.82K subscribers
Post #818 408
Rich Push Notifications в iOS: Notification Service Extension, Notification Content Extension и неочевидные детали

Хороший и объемный туториал, который объясняет различие между Notification Service Extension и Notification Content Extension. Есть даже демо приложение, где можно понять, как связать их через категорию уведомления и payload, чтобы реализовать rich notifications (предзагрузка картинок и кастомный UI).

Основные практические выводы:
➡️ category обязательно должен лежать внутри aps
➡️ для запуска Service Extension нужен флаг “mutable‑content”: 1
➡️ attachments надо сохранять как локальные файлы и добавлять в UNMutableNotificationContent
➡️ время работы Service Extension ограничено (обработать дедлайн в serviceExtensionTimeWillExpire())


В Демо‑проекте предусмотрены две категории:
➡️ pushWithImageCategory - скачиваем small и big, добавляем UNNotificationAttachment; Content Extension явно ищет attachment по идентификатору “big-image” и подстраивает preferredContentSize
➡️ eventCategory (без media; Content Extension читает верхнеуровневые поля eventDate/eventLocation и переключает лейаут)

Есть еще пару практических советы:
➡️ регистрировать категории в основном приложении
➡️ правильно настроить UNNotificationExtensionCategory в Info.plist (строка → массив для нескольких категорий)
➡️ при кодовом UI указывать NSExtensionPrincipalClass
➡️ не забывать о согласовании Minimum Deployment для таргетов расширений
  • 🔥 4
More from @swift_ioss
  1. Oct 9, 2026TLS certificate validation on iOS ℹ️ Если вы не знаете, что такое TLS и проверка сертифика…
  2. Oct 5, 2026Применение gRPC при разработке приложений под iOS ❓ Хороший туториал по gRPC. В целом расс…
  3. Oct 2, 2026Letting AI See SwiftUI: Xcode Preview MCP in Practice — Pitfalls and Hopes 🆕 В Xcode 26.3…
  4. Sep 30, 2026Backporting SwiftUI APIs ❓ Как безопасно «доделать» новые SwiftUI API из iOS 27.1 для стар…
  5. Sep 28, 2026Post #814
  6. Sep 25, 2026ArrangementView: Think Before You Arrange 👀 Автор пробует новый ArrangementView в Xcode 2…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →