2011-12-28 5 views
5

バーコードをスキャンしたり何かを撮影したい場合にユーザーが選択できるアプリで作業しています。 写真を撮るために私はいつものようにUIImagePickerControllerを使用しています。 バーコードをスキャンするために、私はZbarSDK 1.2 ZBarReaderViewControllerを使用しています。ZBarSDKを使用しているときにiPhoneカメラの自動フォーカスが失われる

写真を撮るときは、すべてが完璧に機能します。 バーコードをスキャンするとき: の前にバーコードをスキャンして写真を撮ると、それは完璧に機能します。

しかし、写真を撮って戻ってバーコードをスキャンしようとすると、カメラはオートフォーカスを失い、バーコードをスキャンすることはできません。

を要約すると:
スタート - > [スキャン -

スタートを作業>オートフォーカス - > [写真を撮る] - > [戻る] - > [スキャン - >自動

を働いていないフォーカスこれは私が初期化方法ですバーコードスキャナ:

-(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

私はそれを試してみる...私はすでに私はこの1つの答えを取得しないという事実と平和に来た... –

0

私はあなたの写真の実装をより深く見ていきます。写真の撮影が完了したら、リソースを正しく閉じるかどうかを確認してください。私はzBar実装がそれと関係がないと考えています...

+0

ポイントは - 私は "撮影"の実装がありません...私はちょうどUIImagePickerControllerを初期化して、それをモーダルに提示し、撮影時にコールバックを取得します。私は自分で何か面白いものをやっていないよ。 –

1

私たちはZbarと同じ問題に直面していましたが、私たちはモデルビューを解除する前に2秒遅れて解決しました。

関連する問題