iPhone相机在使用ZBarSDK时失去自动对焦

我正在开发一个应用程序,用户可以select是否要扫描条形码或拍摄照片。 为了拍照,我照例使用UIImagePickerController 。 对于扫描条形码,我正在使用ZbarSDK 1.2 ZBarReaderViewController

拍照时一切正常。 扫描条形码时:如果您拍摄照片之前启动应用程序并扫描条形码,那么也是完美的。

但是,您是否拍摄了照片,然后返回并尝试扫描条形码,相机失去了自动对焦,扫描条形码是不可能的。

总结:
开始 – >扫描 – > 自动对焦工作
开始 – >拍照 – >返回 – >扫描 – > 自动对焦不起作用

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

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

有任何想法吗?

在装载ZBarReaderViewController之前,确保你释放了UIImagePickerController,并且在载入UIImagePickerController之前确保你释放了ZBarReaderViewController。

花了我好几天的时间才弄清楚为什么我一直在失去专注的能力,而事实certificate,我并没有释放事情。 对于其他人陷入这个答案…你一次只能有一个AVCaptureSession,否则事情就会变得棘手,你失去了专注的能力。 ZBarReaderViewController使用AVCaptureSession,所以确保在初始化一个新的AVCaptureSession之前释放它。

我们在Zbar面临同样的问题,我们解决了这个问题,在解散模型视图之前拖延了2秒。

我会更深入地考虑你的照片实现。 尝试检查完成拍摄照片后是否正确closures资源。 我不认为zBar的实现有什么关系…

Interesting Posts