在iOS 10上,GLTF-WebGL应用程序崩溃,该应用程序是使用WKWebView构建的。

13

我正在使用JavaScript制作3D模型,并使用GLTF WebGL在iOS中渲染3D模型。我正在使用iPad Air / iPad Air 2中的WKWebView加载此模型。

这个配置/应用程序在IOS9中完美运行,但升级到IOS10后我的应用程序崩溃了。我试图在Xcode上调试它,然后显示以下错误信息:

Error Message:  "#WK: Unable to acquire assertion for process 0".

我们尝试在IOS10中使用UIWebView做同样的事情,但性能较低(应用程序运行缓慢)。

其他信息:

  1. GLTF-WEBGL链接用于打开3D模型:https://github.com/montagejs/glTF-webgl-viewer.git
  2. 当我将offsetHeight更改为scrollHeight时,可以查看3D模型,但是过一段时间后就会崩溃。

有人知道如何调试iOS 10上的WebGL问题吗?


我刚遇到了同样的问题,但我没有使用WebGL。我的客户正在使用Storyline SCORM内容,并且出现了相同的错误。 - Putz1103
你试过其他的glTF查看器吗?看起来montagejs这个查看器追溯到2014年的glTF 0.8版本。在glTF 0.8和glTF 1.0之间有重大变更。 - emackey
感謝回復,emackey。 - user3587692
这不是WebGL问题,因为这不是WebGL错误信息。 - LJᛃ
你怎么知道你正在使用SDWebImage?我正在使用Meteor Cordova构建iOS混合应用程序,并且遇到了这个确切的错误。我在xCode的源代码中找不到“SDImageCache”引用。有什么建议吗? - Neutrino
显示剩余4条评论
2个回答

2
请在控制台中检查日志,看是否有任何发现。 我遇到了相同的错误“Error Message:"#WK: Unable to acquire assertion for process 0"。”,后来我发现是因为我使用了css属性-webkit-overflow-scrolling,该属性消耗了大量内存,并导致最终的WebKit进程崩溃。

0

我虽然没有使用WebGL,但是遇到了同样的错误。不过我使用了GPUImage2

你在主机上使用Safari Web Inspector吗?根据我的经验和一些传闻 & 相关证据 迹象, 我认为问题是它与iOS 10上的WKWebView某种组合中的一个bug。

这不是一个理想的解决方案,但是不使用web inspector已经防止WKWebView崩溃。

(有趣的是,如果我使用web inspector但不进行任何GPU密集型操作,则不会崩溃。)


你能详细说明一下你的回答吗?当你说不使用 Web Inspector 时,是指在 Safari 浏览器上还是在启用 iOS 手机上? - Neutrino
不幸的是,在Safari和手机上禁用Web检查器对我来说并没有解决问题。然而,我同意这是WKWebView和iOS10的问题。我正在使用Meteor构建我的iOS应用程序,并且据我所知没有使用任何SDWebImage或GPUImage2。我在生成的源代码中找不到SDImage或SDWebImage.m的引用。我读到设置SDImageCache.sharedImageCache().MaxMemoryCountLimit = 100将解决此错误,但我不知道在哪里设置此值,因为我没有使用SDImageCache。非常感谢任何帮助。 - Neutrino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接