iOS:如何判断设备是否支持AV扫描仪?

时间:2017-12-14 07:27:45

标签: ios iphone ipad video-capture barcode-scanner

我的iOS应用程序(通用应用程序)中有扫描仪功能。

为了在只有前置摄像头的旧iPod上隐藏扫描仪UI,我在显示扫描仪UI之前使用以下代码:

+ (BOOL)isScannerSupported {

    AVCaptureDevice *defaultVideoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    BOOL result = (defaultVideoDevice.position == AVCaptureDevicePositionBack);

    return result;
}

到目前为止,这种方法运作良好,因为任何现代iPhone或iPad都会返回YES这种方法。

但是,我刚刚收到客户使用iPad Pro 9.7型号A1673(iOS 11.2.1)发来的电子邮件,声称扫描仪功能未显示。

这可能意味着上述方法中的位置不是AVCaptureDevicePositionBack(必须是AVCaptureDevicePositionFront,或AVCaptureDevicePositionUnspecified)。

任何人都可以解释这种异常现象吗?该方法的逻辑是不正确的?

0 个答案:

没有答案