更新: 在iOS 11.0下都有这个问题
最近测试部门反馈在iOS9中, 使用识别二维码图片会出现奔溃问题。 测试步骤,是在相册中选取一张长图。
我们App二维码视图用的是系统原生的CIDetector,出现这个问题,最开始在微博上找了七八张长图,发现并没有复现。然后网上搜了一圈也没有答案,接着我想可能是测试图片的问题。和测试要来他们测试的图片之后,果不其然, 这张图片尺寸是w=2,h=1920
。
代码执行到
NSArray *features = [detector featuresInImage:image];
这一行就crash就掉了。
我想到可能是图片尺寸的问题,试验发现, 当图片宽度小于10像素的时候,才会出现这个问题。原因暂时不明。 有遇到同样问题的朋友,可以对扫码图片的尺寸做一些过滤, 毕竟,谁会把二维码放到10像素宽的图片上去?
if (qrCodeImage == nil || qrCodeImage.size.width < 10) {
NSLog(@"二维码照片有问题");
}
交流
希望能和大家交流技术
Blog:http://www.lilongcnc.cc