ZXingでQRコードを読む方法をまとめてみた。@iOS6/Xcode4.5
iPhoneでQRコードを読むためには「ZXing」を使うのがメジャーらしいですが、動作確認が取れるまでに何点か問題があったのでメモ書き。
インストール
インストール方法は、以下のサイトが参考になりました。情報はバージョン2.0のものですが、2.1でも違いはありません。
注意点
iOS6/Xcode4.5でZxingを使うためには、2点注意することがあります。
- ZXingを利用するクラスの拡張子は「.mm」にすること。
- ZXingは、C++ベースに作っているため、Objective-CがC++を認識させるためにファイルの拡張子を変更する必要があります。ZXingのREADMEによると、この問題を認識しており、その内修正されるかもしれません。
- もしクラスが既にリポジトリに登録していて、ファイル名を変えたくない場合は、ZXingを呼び出す処理を別クラスに移動させるとよいです。
- C++のライブラリを変更すること。
- iOS6では、上記サイトの通りに設定しても必ずビルドに失敗します。C++ライブラリの設定に問題があるみたいです。
- プロジェクト→「Build Settings」→「Apple LLVM compiler 4.1 -Language」→「C++ Language Dialect」「C++ Standard Library」を「Compiler Default」に変更してください。
- 参考 : zxing in xcode 4.5 and ios 6 - Stack Overflow
上の2点を対応したら、無事QRコードリーダーが起動しました。数行でリーダーを起動出来る事と読込スピードもなかなか高速なので、いいライブラリだと思いました。