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的实现有什么关系…