В моем приложении WKWebView отображается веб-страница, содержащая контент webGL. Я использую drawViewHierarchyInRect для визуализации WKWebView для изображения после загрузки веб-страницы. Это отлично работает на симуляторе, но на телефоне содержимое webGL не отображается на изображении. Остальная часть веб-страницы отображается ОК. По телефону вызов drawViewHierarchyInRect возвращает false (в документации говорится: «возвращает false, если в снимке отсутствуют данные изображения для любого представления в иерархии»).WKWebView drawViewHierarchyInRect не отображает содержимое webGL по телефону
Вот код, я использую:
UIGraphicsBeginImageContextWithOptions(webView.bounds.size, true, 0.0)
let drewOK = webView.drawViewHierarchyInRect(webView.bounds, afterScreenUpdates: true)
if (!drewOK)
{
print("drawViewHierarchyInRect failed") // when the web page contains webGL this is printed on a phone but not in simulator
}
let overlayImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
photoPreview.image = overlayImage
Эта проблема происходит на обоих IOS 9 и IOS 10.
Есть ли что-то еще мне нужно сделать, чтобы заставить его работать на телефоне?
Демо-проект доступен on GitHub.