2012-03-20 6 views
0

私はZying私のiPhoneプロジェクトでQRコードスキャンのソースコードを統合しました。Iphone Zxing:QRコードスキャンのコードがリリースビルドで動作しません

私はZxingのプロジェクトをデバッグモードでビルドするまで、QRコードを完全にスキャンしますが、リリースモードでは、アプリケーションはQRイメージからQRコードをスキャンできません。

エラー/例外なしでQRコードのスキャンを停止するだけです。デバッグモードでビルドを元に戻すと、再び完全にスキャンされます。

は、私は下記の設定でリリースモードでZxingのプロジェクトを構築しました:

1. XCode: 4.0.1 Compiler: GCC 4.2     Optimization Level: -O0 
2. XCode: 4.0.1 Compiler: GCC 4.2     Optimization Level: -Os 
3. XCode: 4.0.1 Compiler: LLVM GCC 4.2    Optimization Level: -O0 
4. XCode: 4.0.1 Compiler: LLVM GCC 4.2    Optimization Level: -Os 
5. XCode: 4.0.1 Compiler: LLVM compiler 2.0   Optimization Level: -O0 
6. XCode: 4.0.1 Compiler: LLVM compiler 2.0   Optimization Level: -Os 
7. XCode: 4.2  Compiler: LLVM GCC 4.2    Optimization Level: -O0 
8. XCode: 4.2  Compiler: LLVM GCC 4.2    Optimization Level: -Os 
9. XCode: 4.2  Compiler: Apple LLVM compiler 3.0 Optimization Level: -O0 
10. XCode: 4.2  Compiler: Apple LLVM compiler 3.0 Optimization Level: -Os 


私は問題がある見当もつかない。これの助けがあれば助けになるでしょう。おかげで..

+1

次の2つの点に注意してください。a)デバッグ/リリースモードで異なるコンパイル構成b)デバッグ/リリースモードでスキャン結果を別々に扱います。コンパイル時に異なるバージョンを区別するためにプリプロセッサマクロを使用していますか? –

+0

コンパイルの設定は、デバッグモードとリリースモードで同じです。私はどちらのモードでも同じ結果を扱っています。また、私はプリプロセッサマクロを使用していません。 – Khushboo

+0

これは本当に奇妙に思えます。私は現時点では私のMacではない。しかし、私はApp Store上でZXingのimplementtionを動作させているアプリを持っています。コンパイルの設定をすぐに確認します。もし答えが得られなければ、私はできます。 –

答えて

0

ZXing FAQはリリースがあなたが原因LLVMのバグにLLVM(LLVM-GCCまたは打ち鳴らす)を使用する場合は4.2より前のXcodeでは動作しません構築することを言及しています。 llvm-gccとclangの両方がXcode 4.2以降でリリースモードで動作することが確認されています(少なくともScanTestBarcodes)。私はまだC++でバグを見たことがありますが、Xcode 4.2で動いていますが、少なくともScanTestBarcodesで見られるように、ZXingには影響していないようです。

あなたが言及したDEBUGシンボルに関する動作は、ScanTestまたはBarcodesで繰り返されません。これらのプロジェクトのどちらもDEBUGを定義していません。 DEBUGを定義すると、より多くのデバッグコードがコンパイルされるため、依然として最適化のバグが表示されることがあります。

あなたが建築しているアーキテクチャは、(armv6またはarmv7)とは言いません。 Thumbモードをオフにしないと、armv6の最適化に関する問題が報告されています。 ZXingのsvnのプロジェクトはこれを行います。この変更はまだZXingのいずれのリリースにもありません。

+0

ScanTestサンプルとプロジェクトのプロジェクト設定は同じですが、唯一の違いはプリコンパイラマクロ "DEBUG"です。私のプロジェクトではデフォルトで既にデバッグモードに設定されていましたが、これをリリース用に設定すると動作し始めました。説明をありがとう、しかし、私はコードが昨日働いている。 – Khushboo

関連する問題