내 앱에 일부 webGL 콘텐츠가 포함 된 웹 페이지를 표시하는 WKWebView가 있습니다. 웹 페이지가로드 된 후 drawViewHierarchyInRect를 사용하여 이미지에 WKWebView를 렌더링합니다. 이것은 시뮬레이터에서 잘 작동하지만 전화기에서는 webGL 콘텐츠가 이미지에 렌더링되지 않습니다. 나머지 웹 페이지는 OK로 렌더링됩니다. 전화에서 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
이 문제는 모두 아이폰 OS 9 및 iOS (10)
에서 발생 있습니까?
데모 프로젝트는 on GitHub입니다.