ios - 在哪里可以了解有关 WebCoreSharedBufferData 的更多信息?

标签 ios xcode uiwebview

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

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

现在我非常乐意自己做一些研究和实验,但我就是找不到 WebCoreSharedBufferData。谷歌搜索显示有几个人(如 herehereherehere )遇到了类似的问题,但他们的问题要么没有得到回答,要么他们正在以某种方式使用他们的应用程序(如缩放)在 map 上或使用第 3 方代码),我没有这样做。

Xcode 文档从未听说过 WebCoreSharedBufferData,而且对我的项目的搜索显示没有对它的引用。谷歌搜索也让我一无所知,主要是问题和 GitHub 项目以及我没有使用的第 3 方代码。我假设它是 Apple 的 UIWebView 功能的深层内容,但由于无法了解更多相关信息,我很难继续。

所以我的问题是:有谁知道我在哪里可以找到 WebCoreSharedBufferData 的信息/教程/描述等?我觉得如果我更好地理解它,我就能找到解决方案,只是很难在黑暗中调试......

或者,有没有人直接知道 iOS 7 中 WebCoreSharedBufferData 发生了什么变化,可能会产生这样的错误?

编辑:kcbanner(遇到过类似问题)在下面的评论中提供的线索:我们的两个问题都涉及带有 Canvas 的页面和带有 Canvas 的onclick事件 Canvas 。也许 iOS 7 中的 Canvas 点击处理发生了一些变化?

最佳答案

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

再多一点...似乎这只发生在我用 png 数据快速重新加载两个 Canvas 元素时。我不认为这是损坏的 png 的问题,因为它每次都会在不同的位图上发生,现在我重复使用相同的 Canvas 元素,一切正常。

关于ios - 在哪里可以了解有关 WebCoreSharedBufferData 的更多信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19524325/

相关文章:

ios - 如何在 UIViewController 中使用 TableView?

ios - libc++ 是什么时候在 iOS 中引入的?

ios - Storyboard中动态大小的 UITextView

xcode - 在 Xcode 4 中清除登录

html - UIWebView 中的 html 何时加载?

ios - 为什么只导入 UIKit 框架就可以使用 Foundation 框架中定义的类型?

ios - NSMutableArray removeObjectAtIndex 在第二次执行时崩溃

ios - 新的 iPhone 6 和 6 Plus 支持多少个同时多点触控?

ios - 从 UIWebView 委托(delegate)呈现 ViewController

ios - 我可以设置 WKWebView 使用的 cookie 吗?