我的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)。
任何人都可以解释这种异常现象吗?该方法的逻辑是不正确的?