iOS 7:UIWebView因范围异常而崩溃

iOS 7:UIWebView因范围异常而崩溃,ios,iphone,cocoa-touch,uiwebview,uikit,Ios,Iphone,Cocoa Touch,Uiwebview,Uikit,我目前正在构建一个使用krpano查看器的应用程序,这是一个用JavaScript构建的全景查看器。我正在将这个全景查看器加载到UIWebView中,其中包含保存在iPad上的本地图像 但在使用Panorama viewer一段时间后,我出现了以下错误,应用程序崩溃: Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range

我目前正在构建一个使用krpano查看器的应用程序,这是一个用JavaScript构建的全景查看器。我正在将这个全景查看器加载到UIWebView中,其中包含保存在iPad上的本地图像

但在使用Panorama viewer一段时间后,我出现了以下错误,应用程序崩溃:

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0'
*** First throw call stack:
(0x2e213f53 0x38a226af 0x2e213e95 0x2eb4dc31 0x2e16ca65 0x2ef4ce47 0x2ef4cd21 0x2ef68f03 0x2ef682db 0x2ef68029 0x2ef67e61 0x2ef67dcf 0x2ef6bd39 0x2ef6b813 0x2ef5471f 0x2e29b2ed 0x30635c6d 0x30635117 0x30621069 0x30620bad 0x3061d949 0x3061c051 0x38f0c297 0x38f0c09b 0x38f0cd15 0x38f0cf8d 0x39047dbf 0x39047c84)
libc++abi.dylib: terminating with uncaught exception of type NSException
有人知道为什么会这样吗?在UIWebView中加载联机页面时,没有问题


谢谢你的帮助

这可能是一个与内存相关的问题。当web应用程序使用Javascript分配太多内存时,就会发生奇怪的事情

最好的办法是观察内存警告通知,并尝试从外部影响web应用程序。当然,这取决于web应用程序的具体情况,但您可能希望尝试暂时禁用
userInteractionEnabled
,以便web视图跟上排队的用户输入操作,或者,如果内存警告仍然存在,请尝试重新加载web视图


不幸的是,这里没有简单的解决方案。

有趣的是,这只发生在设备上,而不是模拟器上。与此错误相同::ImageIO:JPEG不是JPEG文件:以0x00 0x00开始您是否提出了此问题@chritaso?@hoya21请查看我对Ortwin Gentz答案的评论。嗨,Ortwin,我认为您是对的。我尝试了很多方法来防止Webview和应用程序崩溃,但唯一有效的方法是在Webview中使用分辨率较低的图像。这不是真正的解决方案,因为如果没有解决办法,结果将不会像它看起来那么好。但似乎就像你说的,你对这种行为没有太多的控制权。