IOS 13 - WkWebView: звук останавливается в фоновом режиме - программирование
Подтвердить что ты не робот

IOS 13 - WkWebView: звук останавливается в фоновом режиме

У меня есть приложение, которое использует WkWebView для воспроизведения звука из Soundcloud, в iOS 13 Beta 6 звук останавливается, когда приложение не на переднем плане, даже когда звук включен в фоновых режимах.

При запуске воспроизведения выдается следующее утверждение:

Error acquiring assertion: <NSError: 0x282cf67c0; domain: RBSAssertionErrorDomain; code: 2; reason: "Required client entitlement is missing"> {
userInfo = {
    RBSAssertionAttribute = <RBSLegacyAttribute: 0x1592432e0; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
} 

А после перехода в фоновое состояние выдается следующее утверждение и звук приостанавливается:

Can't end BackgroundTask: no background task exists with identifier 13 (0xd), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug. 
[ProcessSuspension] Background task expired while holding WebKit ProcessAssertion (isMainThread? 1).

Этого не происходит в iOS 12, где звук воспроизводится нормально в фоновом режиме.

4b9b3361

Ответ 1

Я полагаю, вы используете конденсатор.

Я сталкиваюсь с той же проблемой, что и вы, и похоже, что последняя ошибка о том, что "фоновая задача не существует", связана с плагином Capacitor BackgroundTask, независимо от того, используете вы его или нет (BackgroundTask.swift)

Ясно, что что-то изменилось между iOS 12 и iOS 13, но до сих пор не выяснили, как определить необходимые права для фонового звука.

ОБНОВЛЕНИЕ: это происходит только при использовании HTML5 Audio.

Ответ 2

Какие-либо обновления на эту тему? Я работаю с той же проблемой с конденсатором и аудио HTML5 на IOS 13