我在哪里可以了解更多关于WebCoreSharedBufferData?

我有一个在iOS 6上完美运行的应用程序,但在iOS 7上,如果用户采取了非常具体的操作(进入过于复杂,但使用了UIWebView并且一致),则应用程序会崩溃错误:

 *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 8} exceeds data length 0' 

现在我很乐意自己做一些研究和实验,但是我找不到WebCoreSharedBufferData 。 谷歌search揭示了几个人(像这里 , 这里 , 这里和那里 )谁有类似的问题,但他们的问题要么没有得到回答,要么以他们的方式使用他们的应用程序(如放大地图或使用第三方代码)我没有做。

Xcode文档从来没有听说过WebCoreSharedBufferData ,我的项目search没有提及它。 谷歌search也让我失望了,主要只是问题和GitHub项目,我没有使用第三方代码。 我假设这是苹果的UIWebViewfunction深入的东西,但没有能够了解更多关于它,我很难进行。

所以我的问题是:有谁知道我在哪里可以findWebCoreSharedBufferData信息/教程/描述等? 我觉得如果我能更好地理解它,我就能find解决scheme,在黑暗中很难进行debugging。

或者,有没有人直接了解WebCoreSharedBufferData中的WebCoreSharedBufferData哪些变化,可能会造成这样的错误?

编辑:在下面的评论中由kcbanner提供的线索(他曾经历过类似的问题):我们的两个问题都涉及使用canvas的页面和使用这些canvas的onclick事件。 也许iOS 7中的canvas点击处理有所改变?

我刚刚也遇到了这个错误。 我的设置是phonegap 3.2和createjs 0.7.0,我从来没有与ios6的问题,但ios7导致我适合。 我的解决scheme是使用一个canvas元素。 我已经加载了两个canvas元素PNG spritesheet位图数据和来回切换,现在我只是通过清除旧数据和添加新的数据重复使用相同的canvas元素。 似乎已经解决了这个问题。 仍然不明白为什么我不能有两个canvas元素。

只是更多一点…似乎这只发生在我快速重新加载PNG数据的两个canvas元素。 我不认为这是一个损坏的PNG的问题,因为它会发生在每次不同的位图,现在我重复使用相同的canvas元素一切工作正常。

如果你使用IOS我不会使用onClick。 IOS需要点击一下,并在onClicks上放置一些时髦的200毫秒延迟,这有时会打破“webglue”。 JavaScript有一个完整的触摸库,我会使用,也像Hammer.js将解决您的问题。 另外,我会使用phonegap为您的应用程序的webview组件(即使它不是完整的应用程序),因为他们修复了很多怪癖/错误IOS与他们的本地webview(即使它只是为了网站浏览)。