Я разрабатываю приложение для чтения текста, которое показывает воспроизводимое в данный момент предложение в Live Activity. Мне нужно, чтобы текст виджета обновлялся постоянно (примерно каждые 2–5 секунд), пока приложение находится в фоновом режиме, но до сих пор все подходы, которые я пробовал, ограничены политиками фонового выполнения iOS.
Что я пробовал
UIApplication.shared.beginBackgroundTaskWorks только в течение примерно 30 секунд после перемещения приложения в фон.
После этого приложение приостанавливается и виджет больше не обновляется.
DispatchSourceTimer
Работает на переднем плане работает нормально, но прекращается, когда приложение переходит в фоновый режим.
TimelineView (WidgetKit)
Работает для виджетов на главном экране, но не в интерактивных действиях (где мне действительно нужно отображение в режиме реального времени) обновления).
Push-уведомления
Невозможно отправлять уведомления каждые несколько секунд.
Также невозможно масштабировать для тысяч пользователей.
AVAudioPlayer для воспроизведения звука в фоновом режиме.
Аудио продолжает воспроизводиться, но активность перестает обновляться через 10 секунд.
Вопросы
Как обновить приложение iOS Текст Live Activity в режиме реального времени при работе в фоновом режиме?
Существует ли общедоступный API или одобренный системой обходной путь?
Я обнаружил, что в AppStore есть приложение, которое может это сделать (например, Dynamic Lyrics). Может ли Dynamic Lyrics использовать фоновый звук или другой трюк, чтобы остаться в живых?
Я разрабатываю приложение для чтения текста, которое показывает воспроизводимое в данный момент предложение в Live Activity. Мне нужно, чтобы текст виджета обновлялся постоянно (примерно каждые 2–5 секунд), пока приложение находится в фоновом режиме, но до сих пор все подходы, которые я пробовал, ограничены политиками фонового выполнения iOS. Что я пробовал [list] [*][b]UIApplication.shared.beginBackgroundTaskWorks[/b] только в течение примерно 30 секунд после перемещения приложения в фон. [/list] [list] [*]После этого приложение приостанавливается и виджет больше не обновляется. [/list] [list] [*][b]DispatchSourceTimer[/b] [/list] [list] [*]Работает на переднем плане работает нормально, но прекращается, когда приложение переходит в фоновый режим. [/list] [list] [*][b]TimelineView[/b] (WidgetKit) [/list] [list] [*]Работает для виджетов на главном экране, но не в интерактивных действиях (где мне действительно нужно отображение в режиме реального времени) обновления). [/list] [list] [*][b]Push-уведомления[/b] [/list] [list] [*]Невозможно отправлять уведомления каждые несколько секунд. [*]Также невозможно масштабировать для тысяч пользователей. [/list] [list] [*]AVAudioPlayer для воспроизведения звука в фоновом режиме. [/list] [list] [*]Аудио продолжает воспроизводиться, но активность перестает обновляться через 10 секунд. [/list] [b]Вопросы[/b] Как обновить приложение iOS Текст Live Activity в режиме реального времени при работе в фоновом режиме? [list] [*]Существует ли общедоступный API или одобренный системой обходной путь? [*]Я обнаружил, что в AppStore есть приложение, которое может это сделать (например, Dynamic Lyrics). Может ли Dynamic Lyrics использовать фоновый звук или другой трюк, чтобы остаться в живых? [/list]