mirror of
https://github.com/zxing/zxing.git
synced 2024-11-13 22:44:09 -08:00
8092a77e07
git-svn-id: https://zxing.googlecode.com/svn/trunk@1750 59b500cc-1b3d-0410-9834-0bbf25fbcc57
71 lines
4.5 KiB
Plaintext
71 lines
4.5 KiB
Plaintext
ZXing for iOS is a sub-project of zxing project partially maintained by
|
|
independent developers. As of 26th of March 2011, it contains 3 iOS projects:
|
|
- BarCodes: Zxing iOS app. Available on app store.
|
|
- ZXingWidget: a Library that can be included in any iOS app
|
|
- ScanTest: a simple demo app for ZXingWidget
|
|
|
|
|
|
How to include ZXingWidget in a easy and clean way (in XCode4):
|
|
====================================================
|
|
|
|
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". Alternatively you can right-click on you project navigator and select 'Add files to "MyProject"'
|
|
|
|
2. Now you need to link the ZXingWidget static library to your project. To do that,
|
|
a. select you project file in the project navigator
|
|
b. In the second column, select your _target_ and not the project itself
|
|
c. Go to the 'build phases' tab, expand the 'link binary with libraries' section,
|
|
d. Click the add button A dialog will appear and you should see libZXingWidget.a in the very first possibilities
|
|
|
|
3. Now you need to add ZXingWidget as a dependency of your project, so Xcode compiles it whenever
|
|
you compile your project.
|
|
a. like in substep c. of previous step, you nedd to do that in the 'build phases' tab of your target
|
|
b. Expand the 'Target Dependencies' section
|
|
c. Click the add Button and a dialog will appear select ZXingWidget target
|
|
|
|
4. Headers search path 1: you need to tell your project where to find the ZXingWidget headers. Select your project in the
|
|
project navigator, and the select your target and go to the "Build Settings" 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. Headers search path 2: You need to add zxing cpp headers to your headers search path, do this similarly as previous step to point the path to cpp/core/src/ where the 'zxing' directory is. You don't need to make this search path recursive so do not check the "recursive path" option
|
|
|
|
6. Import the following iOS frameworks:
|
|
a. AVFoundation
|
|
b. AudioToolbox
|
|
c. CoreVideo
|
|
d. CoreMedia
|
|
e. libiconv
|
|
f. AddressBook
|
|
g. AddressBookUI
|
|
This must be done by adding them in the 'Link Libraries with Binary' just like step 2.c.
|
|
|
|
7. You're almost ready to go ..
|
|
|
|
8. #import <ZXingWidgetController.h> in a source file
|
|
|
|
9. #import <QRCodeReader.h> for example because you will need to inject a barcode reader into ZXingWidgetController.
|
|
|
|
10. 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 may cry as if it does not find some files !
|
|
|
|
11. It should work :)
|
|
|
|
|
|
Known issues for above steps to include:
|
|
======================================
|
|
- It can happen that when trying to build your own project with ZXingWidgetController you get linker errors like
|
|
"undefined reference to". If this error looks like a c++ undefined reference, then renaming main.m into main.mm (Objective-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 clicking 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.
|
|
|
|
- You could have issue of building AdHoc or release build in Xc4 with "No Packager exists for the type of archive" message - see http://stackoverflow.com/questions/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive/5322743#5322743
|