Я работаю над приложением, которое пользователь может выбрать, если он хочет отсканировать штрих-код или сделать снимок чего-либо.
Для съемки я обычно использую UIImagePickerController
.
Для сканирования штрих-кода я использую ZbarSDK 1.2 ZBarReaderViewController
.
При съемке все работает идеально. При сканировании штрих-кода: Если вы запустите приложение и отсканируете штрих-код до того, как сделает снимок, оно также будет работать идеально.
Но если вы сделаете снимок, а затем вернетесь и попытаетесь отсканировать штрих-код, камера потеряет автофокус и сканировать штрих-код будет просто невозможно.
Резюмируя:
Пуск -> Сканирование -> Автофокус работает
Пуск -> Сделать фото -> Назад -> Сканирование -> Автофокус не работает
Вот как я инициализирую сканер штрих-кода:
-(ZBarReaderViewController *) barcodeScanner
{
if (nil == _barcodeScanner)
{
_barcodeScanner = [ZBarReaderViewController new];
_barcodeScanner.readerDelegate = self;
_barcodeScanner.cameraMode = ZBarReaderControllerCameraModeSampling;
_barcodeScanner.sourceType = UIImagePickerControllerSourceTypeCamera;
}
return _barcodeScanner;
}
Есть идеи?