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, где звук воспроизводится нормально в фоновом режиме.
Ответы
Ответ 1
Я полагаю, вы используете конденсатор.
Я сталкиваюсь с той же проблемой, что и вы, и похоже, что последняя ошибка о том, что "фоновая задача не существует", связана с плагином Capacitor BackgroundTask
, независимо от того, используете вы его или нет (BackgroundTask.swift)
Ясно, что что-то изменилось между iOS 12 и iOS 13, но до сих пор не выяснили, как определить необходимые права для фонового звука.
ОБНОВЛЕНИЕ: это происходит только при использовании HTML5 Audio.
Ответ 2
Какие-либо обновления на эту тему? Я работаю с той же проблемой с конденсатором и аудио HTML5 на IOS 13