WKWebView падает в ускоренном режимеAnimationDidStart

У меня произошел сбой в приложении клиента и, кроме того, на WTFCrash , я не получаю много пользы от трассировки стека.

Я использую экземпляр WKWebView чтобы показать веб-страницу с несколькими анимациями на основе CSS и видео. Проблемы возникают на iOS 8 и 9 на самых разных устройствах (iPhone 5c до 6s и аналогичный диапазон iPads).

WKWebView работает в своем собственном процессе, а не в приложении. Когда происходит сбой, белый слой остается позади, который покрывает основное приложение, делая его недоступным даже при том, что его процесс не был затронут.

Глядя на журналы устройств, я нахожу сбои в процессе com.apple.WebKit.WebContent и все они имеют один и тот же журнал для разбившегося потока.

 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 JavaScriptCore 0x0000000184c9f22c WTFCrash + 72 1 JavaScriptCore 0x0000000184c9f224 WTFCrash + 64 2 WebKit 0x0000000188ecd850 WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart(unsigned long long, WTF::String const&, double) + 0 3 WebCore 0x0000000184f2e70c WebCore::ThreadTimers::sharedTimerFiredInternal() + 148 4 WebCore 0x0000000184f2e64c WebCore::timerFired(__CFRunLoopTimer*, void*) + 36 5 CoreFoundation 0x000000018107d81c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 6 CoreFoundation 0x000000018107d4c0 __CFRunLoopDoTimer + 884 7 CoreFoundation 0x000000018107abd4 __CFRunLoopRun + 1520 8 CoreFoundation 0x0000000180fa4d10 CFRunLoopRunSpecific + 384 9 Foundation 0x00000001819b4d8c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 308 10 Foundation 0x0000000181a09ff8 -[NSRunLoop(NSRunLoop) run] + 88 11 libxpc.dylib 0x0000000180d68cf8 _xpc_objc_main + 660 12 libxpc.dylib 0x0000000180d6aa2c xpc_main + 200 13 com.apple.WebKit.WebContent 0x0000000100057924 0x100054000 + 14628 14 libdyld.dylib 0x0000000180b428b8 start + 4 

Вот несколько примеров html / css, которые мы используем для воспроизведения проблемы.

 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <style media="screen, project"> body { background-color: #4cb9e4; } div#mytest { position: absolute; top: 0; width: 100%; height: 5000px; background-color: rgba(0, 0, 0, 0.7); text-align: center; overflow-y: hidden; -webkit-transition-property: height; -moz-transition-property: height; transition-property: height; -webkit-transition-duration: 0.5s; -moz-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: ease; -moz-transition-timing-function: ease; transition-timing-function: ease; } div#mytest.hidden { height: 0; } </style> <script> var initialWidth = 100; window.addEventListener('load', function () { var div = document.getElementById('mytest'); div.className = ''; setInterval(function () { initialWidth += 10; if (initialWidth > 1000) { initialWidth = 1; } div.style.height = initialWidth + 'px'; }, 40); }, false); </script> </head> <body> <div class="hidden" id="mytest"> This is sample test </div> </body> </html> 

Это знакомо кому-нибудь? Есть ли что-то, что я должен сказать веб-инженеру изменить в отношении анимации?

Interesting Posts

ios сохранить видеоролик GPUImage

iOS. Определите, есть ли уведомления в Центре уведомлений.

UITableView не перезагружает данные или вызывает cellForRowAtIndexPath

iOS: сбой приложений из-за dispatch_queue

Как перерисовать мой взгляд в SWIFT?

Включить UIPanGestureRecognizer, когда longPress

EAGLView для преобразования цвета UIImage

Отображение изображений более высокого качества для сообщений Facebook для iOS

Ошибка NSManaged Object initWithCoder

iPad / iOS7: странное поведение диспетчера модемов «Страница» после представления «полного экрана» контроллера

Использование кватерниона вместо рулона, высоты тона и рыскания для отслеживания движения устройства

Как остановить воспроизведение MPMusicPlayerController при завершении пользователем пользователем?

Как воспроизводить видео с помощью AVPlayerViewController (AVKit) в Swift

перенаправить на приложение, если оно установлено, в противном случае – appstore

Каков самый простой способ получить серийный номер устройства iOS с помощью MonoTouch?

Давайте будем гением компьютера.