【发布时间】:2017-02-26 13:12:18
【问题描述】:
自从更新到 iOS 10 后,从 NSMutableData 创建 UIImage 时出现以下错误:
JPEGDecompressSurface : 图片解码失败:e000....."
没有产生奇怪或不正常的行为,但是当我调试我的应用程序时,我每次创建图像时都会看到错误。
这是代码,我使用 GCDAsynchSocket 类从下载的数据创建图像:
NSData *imgDataToGen = [NSData dataWithData:imgBuffer];
UIImage *img = [[UIImage alloc] initWithData:imgDataToGen];
[_delegate client:self didReceiveImage:img];
缓冲区imgBuffer 是一个NSMutableData-Object,它保存着下载的图像数据。下载完成后,数据将转换为图片并通过触发自定义委托方法传递给主 GUI。在主 GUI 中,图像在图像视图中设置。
处理完图像后,缓冲区将被清除。
我尝试了不同的方法,例如强制在后台线程中对 UIImage 进行解码,但我总是遇到同样的错误。图像总是以正确的方式呈现,所以我真的不明白错误信息。
我在iPhone 5c 和iOS 10.0.2 上试过,在Simulator 5s 上用iOS 9.2 和10.0.2 试过。
在iPhone 5c 我得到错误,在模拟器上没有。
我该如何解决这个错误,或者这种类型的错误可以忽略吗?
【问题讨论】:
-
我也遇到了这个问题。你找到解决方法了吗?
-
算上我——我也看到了同样的情况。
-
我正在努力解决同样的问题(从 MOBOTIX 安全摄像头流式传输图像),有趣的是,虽然不是在所有设备上 - 你是否检查过 iOS 模拟器,当你跳过时你是否也得到了这个后台预解码?
标签: ios