2011-12-28 339 views
5

当我工作的一个应用程序,如果他想扫描条形码或采取的东西的图片,用户可以选择失去自动对焦。 为了拍摄照片,我照常使用UIImagePickerController。 对于扫描条形码,我使用ZbarSDK 1.2 ZBarReaderViewControlleriPhone相机使用ZBarSDK

拍照时,一切都很完美。 当扫描条码: 如果你启动应用程序和之前扫描条形码拍照,它也可以完美运行。

不过是你拍张照片,然后回去尝试扫描条形码,相机无法自动对焦,并扫描条形码,它只是不可能的。

总结:
开始 - >扫描 - >自动对焦工作
开始 - >拍摄照片 - >返回 - >扫描 - >自动对焦工作不

这是我的初始化条码扫描器:

-(ZBarReaderViewController *) barcodeScanner 
{ 
    if (nil == _barcodeScanner) 
    { 
     _barcodeScanner = [ZBarReaderViewController new]; 
     _barcodeScanner.readerDelegate = self; 
     _barcodeScanner.cameraMode = ZBarReaderControllerCameraModeSampling; 
     _barcodeScanner.sourceType = UIImagePickerControllerSourceTypeCamera; 
    } 
    return _barcodeScanner; 
} 

任何想法?

回答

4

之前加载了ZBarReaderViewController确保你释放的UIImagePickerController,你加载的UIImagePickerController前请确保你释放ZBarReaderViewController。

我用了几天弄清楚为什么我一直在失去专注的能力,并证明,我没有释放的东西。对于其他人磕磕绊绊回答这个问题......一次只能有1个AVCaptureSession,否则事情就会变得棘手,而你失去了专注的能力。 ZBarReaderViewController使用AVCaptureSession,因此请确保在初始化新的AVCaptureSession之前释放它。

+1

我会尽力...我已经达到和平与事实,我不会得到这个答案... – 2012-03-11 11:16:42

0

我会更深入地观察拍摄照片的实现。尝试检查拍摄照片时是否正确关闭资源。我不认为zbar和实施了任何与它...

+0

的一点是 - 我没有执行“拍照” ......我只是初始化的UIImagePickerController,模态呈现,并得到回调拍摄照片时的感觉。我自己并没有做任何奇特的东西。 – 2012-01-01 12:17:53

1

我们都面临着同样的问题与zbar和我们通过把一个2秒延迟解雇模型视图之前解决它。