WatchOS, SwiftUI: Как отправлять локальные уведомления с «View» в качестве тела - PullRequest
3 голосов
/ 06 февраля 2020

При создании проекта XCode я выбрал приложение Apple Watch и включил «Включить уведомление». Это привело меня к появлению NotificationView.swift и NotificationController.swift в моем проекте.

Я заполнил NotificationView.swift содержимым просмотра, которое я хотел бы видеть в своем локальном уведомлении.

В моем обычном HostingController.swift я бы хотел запланировать локальное уведомление с содержимым NotificationView.swift.

Пока что я использую текущий код:

let userNotificationCenter = UNUserNotificationCenter.current()
let notificationContent = UNMutableNotificationContent()
notificationContent.title  = "title"
notificationContent.body = "body"
notificationContent.categoryIdentifier = "categoryNameDummy"

let category = UNNotificationCategory(identifier: "categoryNameDummy", actions: [], intentIdentifiers: [] as? [String] ?? [String](), options: .customDismissAction)
let categories = Set<AnyHashable>([category])

userNotificationCenter.setNotificationCategories(categories as? Set<UNNotificationCategory> ?? Set<UNNotificationCategory>())

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

let request = UNNotificationRequest(identifier: UUID().uuidString, content: notificationContent, trigger: trigger)
userNotificationCenter.add(request) { (error) in
if let error = error {
    debugPrint(error)
}
}

I не вносил никаких изменений в Info.plist в отношении categoryIdentifier. Что и где мне нужно добавить код, чтобы теперь «перехватить» это уведомление и заполнить его моим собственным контентом NotificationView.swift?

...