iOS在“较老的设备”开启相机二维码扫描崩溃

一步一步找问题:

  • 如果你的App是在所有的设备都会崩溃,你首先应该考虑到是否开启了相机权限以及是否在plist文件里添加了描述信息(相信大多数人都不会在这里出错);
  • 如果你的App还是在所有的设备都会崩溃,并且报了下面这个错误:
    reason:'*** -[AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found. Use -availableMetadataObjectTypes.'
    那么这时可以检查你的
    [outPut setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];
    这步操作是否在[session addOutput:outPut];之后;
  • 如果你的App只是在较老的设备崩溃,并且报了下面这个错误:
    reason:'*** -[AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found. Use -availableMetadataObjectTypes.'
    根据错误原因,发现[outPut availableMetadataObjectTypes];这个数组是空的。那么你可以尝试设置把session.sessionPreset = AVCaptureSessionPresetHigh;之后再运行。
  • 另外,保险起见应该加一层判断:


    iOS在“较老的设备”开启相机二维码扫描崩溃_第1张图片
    保险起见应该加一层判断
  • 好吧、希望能帮到你。

你可能感兴趣的:(iOS在“较老的设备”开启相机二维码扫描崩溃)