| Zxing for iphone is a sub-project of zxing project partially maintened by |
| independent developers. As of 2nd of June 2010, it contains 3 iPhone projects: |
| - BarCodes: Original zxing iPhone app. Available on app store. However, the code is cirrently maintained |
| - ZXingWidget: a Library that can be included in any iPhone app |
| - ScanTest: a simple test app for ZXingWidget |
| |
| |
| How to include ZXingWidget in a easy and clean way: |
| ==================================================== |
| |
| 1. Locate the "ZXingWidget.xcodeproj" file under "`zxing/iphone/ZXingWidget/`". Drag ZXingWidget.xcodeproj and |
| drop it onto the root of your Xcode project's "Groups and Files" sidebar. A dialog will |
| appear -- make sure "Copy items" is unchecked and "Reference Type" is "Relative to Project" |
| before clicking "Add". |
| |
| 2. Now you need to link the ZXingWidget static library to your project. Click the "ZXingWidget.xcodeproj" |
| item that has just been added to the sidebar. Under the "Details" table, you will see a single |
| item: ZXingWidget.a. Check the checkbox on the far right of ZXingWidget.a. |
| |
| 3. Now you need to add ZXingWidget as a dependency of your project, so Xcode compiles it whenever |
| you compile your project. Expand the "Targets" section of the sidebar and double-click your |
| application's target. Under the "General" tab you will see a "Direct Dependencies" section. |
| Click the "+" button, select "ZXingWidget", and click "Add Target" |
| |
| 4. Finally, you need to tell your project where to find the ZXingWidget headers. Open your |
| "Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click |
| it. Add the relative path from your project's directory to the |
| "zxing/iphone/ZXingWidget/Classes" directory. Make sure you click the checkbox "recursive path" ! |
| |
| 5. You're almost ready to go .. |
| |
| 6. #import <ZXingWidgetController.h> from a file |
| |
| 7. #import <QRCodeReader.h> for example because you will need to inject a barcode reader into ZXingWidgetController. |
| |
| 8. MAKE SURE the file in which you are using the code deader is a .mm because you are now silently including some c++ code. If you don't do so then |
| the compiler will cry as if it does not find some files ! |
| |
| 9. It should work :) |
| |
| |
| Know issues for above steps to include: |
| ====================================== |
| - It can happen that when trying to build your own project with ZXoingWidgetController you get linker errors like |
| "undefined reference to". If this error looks like a c++ undefined reference, then renaming main.m into main.mm (Objectice-C++ source suffix) |
| may fix the problem |
| |
| - If you have building error like " ... : No such file or directory", then it is a classical error, it means that the path to includes is not well |
| specified. The best way to fix this is to look at the Build Command that failed. To do that, click on the lower right corner of your XCode project, |
| you should see the build command that failed. Click on it and expand it by cliking on the "more" symbols that just appeared. This will make appear |
| the exact command line instruction that is ran and fails. You can then make sure that the Header search path you specified is there, and you can also |
| copy/paste this line into your terminal and try to see if you can reproduce/fix the error by adding the right path to the compiler. Once is is fixed, |
| you should have an idea of what's the problem and accordingly modify your Header Search Path. |
| |