我有一个应用,在iOS 6上运行得非常完美,但是在iOS 7上,如果用户执行了一个非常特定的操作(太复杂了,不便赘述,但涉及到UIWebView
且一致),应用程序会崩溃并显示以下错误:
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 8} exceeds data length 0'
我很乐意进行一些研究和实验,但我找不到WebCoreSharedBufferData
。通过谷歌搜索发现一些人(例如这里和这里和这里和这里)遇到了类似的问题,但他们的问题要么没有被回答,要么他们使用的应用程序方式(如缩放地图或使用第三方代码)与我的方式不同。
Xcode文档从未听说过WebCoreSharedBufferData
,而我的项目搜索也没有引用它的内容。谷歌搜索也没有帮助我,大多数只是问题和使用我不需要的第三方代码的GitHub项目。我认为它是深藏在苹果的UIWebView
功能中的某个东西,但由于无法了解更多信息,我很难继续。
所以我的问题是:有人知道在哪里可以找到关于WebCoreSharedBufferData
的信息/教程/描述等吗?我觉得如果我能更好地理解它,我就能找到解决方案,只是在黑暗中调试很困难...
或者,有人可以直接告诉我在iOS 7中WebCoreSharedBufferData
发生了什么变化,可能会导致这样的错误吗?
编辑:以下评论提供了一个线索,由经历过类似问题的kcbanner提供:我们两个人的问题都涉及到带有画布和onclick
事件的页面。也许在iOS 7中关于画布的点击处理发生了一些变化?