Я сделал приложение iOS с UIWebView, которое загружает плеер iFrame YouTube. Все прошло хорошо, и он даже может воспроизводить видео на фоне только одной проблемы.Встроенный плеер YouTube разбился с gpus_ReturnNotPermittedKillClient на iOS 8
Эта проблема возникает только в этом месяце, и это происходит не только в последнем обновлении (iOS 8.3), но и в iOS 8.1, поэтому я полагаю, что это связано с некоторыми недавними изменениями в API iFrame YouTube.
На iOS 8 (только iOS 8 на устройстве, а не на iOS до 8 и даже на эмуляторе), когда я помещаю приложение в фоновый режим (например, перейдите на главный экран, заблокируйте устройство), видео нормально, но как только видео будет завершено, и приложение попытается загрузить следующее видео в плейлист приложения, приложение выйдет из строя (на самом деле это похоже на то, что силы iOS завершают его.)
В WebThread есть EXC_BAD_ACCESS с
libGPUSupportMercury.dylib gpus_ReturnNotPermittedKillClient
и Релевент стек вызовов в журнале аварии, как показано ниже:
Thread 6 name: WebThread
Thread 6 Crashed:
0 libGPUSupportMercury.dylib 0x000000018b829f90 gpus_ReturnNotPermittedKillClient + 12
1 libGPUSupportMercury.dylib 0x000000018b82af3c gpusSubmitDataBuffers + 168
2 WebCore 0x0000000191620820 WebCore::GraphicsContext3D::reshape(int, int) + 528
3 WebCore 0x0000000191e93ce0 WebCore::WebGLRenderingContext::initializeNewContext() + 1136
4 WebCore 0x0000000191e93594 WebCore::WebGLRenderingContext::WebGLRenderingContext(WebCore::HTMLCanvasElement*, WTF::PassRefPtr<WebCore::GraphicsContext3D>, WebCore::GraphicsContext3D::Attributes) + 600
5 WebCore 0x0000000191e92c54 WebCore::WebGLRenderingContext::create(WebCore::HTMLCanvasElement*, WebCore::WebGLContextAttributes*) + 1144
6 WebCore 0x000000019132f6ec WebCore::HTMLCanvasElement::getContext(WTF::String const&, WebCore::CanvasContextAttributes*) + 312
попросту говоря, в моем понимании, когда я называю YTPlayer.loadVideoById (...) YouTube API загружает видео и пытается создать новый контекст WebGL рендеринга, который IOS не позволяет (GL рендеринга соответствующих инструкций во время фонового режима не допускается), поэтому он завершает работу приложения.
Я занимаюсь поиском и почесыванием головы на целую неделю, чтобы справиться с этим, но без везения кто-нибудь знает, как с этим бороться?
Благодарим вас за любое предложение и любую помощь !!!
Я тоже сталкиваюсь с этой проблемой, но не нахожу решения. Как вы загружаете все видео в моем плейлисте с помощью loadPlaylist всякий раз, когда изменяется список воспроизведения? Не могли бы вы разместить здесь некоторые фрагменты кода? – bandw
У меня такая же проблема, но я * думаю * Я ее исправил .. Вы попробовали листинг 3 по адресу: https://developer.apple.com/library/ios/qa/qa1668/_index.html? – Jim
Я читал статью, но я думаю, что пропустил эту часть ... Я не пробовал, но, я думаю, есть хорошие шансы, что это может сработать. Не могли бы вы опубликовать это снова как ответ, чтобы я мог проголосовать? –