Как запустить liveActivity из удаленного уведомления • SwiftIOS

Программируем под IOS
Ответить
Anonymous
 Как запустить liveActivity из удаленного уведомления • Swift

Сообщение Anonymous »


При реализации виджета активности на экране блокировки в целях отладки у меня была кнопка, которая запускала функцию startLiveActivity(), приложение запускалось нормально, виджет выглядел полностью работоспособным.

Однако мне нужно, чтобы этот виджет активности появлялся всякий раз, когда приложение получает удаленное push-уведомление, когда приложение закрывается или находится в фоновом режиме, но он появляется только тогда, когда приложение находится на переднем плане, что в данном случае не помогает.
р>
class LiveActivityHelper: ObservableObject { статическая переменная общая = LiveActivityHelper() @Published var Activity: Activity? = ноль функция startLiveActivity() { пусть состояние = Attributes.ContentState() активность = попробовать? Activity.request(атрибуты: Attributes(), contentState: состояние, pushType: ноль) } Я попробовал запустить функцию startLiveActivity() из DidReceiveRemoteNotification приложения AppDelegate:

func userNotificationCenter(_ center: UNUserNotificationCenter, ответ DidReceive: UNNotificationResponse) async { LiveActivityHelper.shared.startLiveActivity() } И из расширения уведомлений у меня есть:

class NotificationService: UNNotificationServiceExtension, UNUserNotificationCenterDelegate { var contentHandler: ((UNNotificationContent) -> Void)? вар bestAttemptContent: UNMutableNotificationContent? переопределить func DidReceive (_ запрос: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { ... LiveActivityHelper.shared.startLiveActivity() Все эти подходы приводят к одному и тому же результату: виджет появляется только при открытии приложения.

В документации Apple описано обновление виджета с помощью удаленного уведомления, но не описано, как запустить его с использованием этого подхода.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»