Я работаю над iOS-приложением, где одна из функций сканирует QR-коды. Для этого я использую отличную библиотеку ZBar. Сканирование работает отлично и, как правило, очень быстро. Однако, когда вы используете меньшие QR-коды, для сканирования требуется немного больше времени, в основном из-за того, что для автофокусировки требуется некоторое время для настройки. Я экспериментировал и заметил, что фокус можно заблокировать, используя следующий код:
AVCaptureDevice *cameraDevice = readerView.device;
if ([cameraDevice lockForConfiguration:nil]) {
[cameraDevice setFocusMode:AVCaptureFocusModeLocked];
[cameraDevice unlockForConfiguration];
}
Когда этот код используется после успешного сканирования, предстоящие проверки действительно быстрые. Это заставило меня задуматься, можно ли как-то заблокировать фокус, даже если сканировать один код? Приложение будет сканировать только небольшие QR-коды, поэтому никогда не будет необходимости фокусироваться на чем-то далеко. Конечно, я мог бы реализовать что-то вроде tap для фокусировки, но, желательно, я бы хотел избежать этого дополнительного шага. Есть ли способ достичь этого? Или, может быть, есть еще один способ ускорить работу с меньшими QR-кодами?
//Александр