summaryrefslogtreecommitdiffstats
path: root/iphone/examples
diff options
context:
space:
mode:
Diffstat (limited to 'iphone/examples')
-rw-r--r--iphone/examples/EmbedReader/EmbedReader.xcodeproj/project.pbxproj416
-rw-r--r--iphone/examples/EmbedReader/EmbedReader.xcodeproj/xcshareddata/xcschemes/EmbedReader.xcscheme76
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReader-Info.plist39
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReader-Prefix.pch11
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.h19
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.m34
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.h20
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.m101
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/en.lproj/EmbedReaderViewController.xib336
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/en.lproj/InfoPlist.strings2
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/en.lproj/MainWindow.xib444
-rw-r--r--iphone/examples/EmbedReader/EmbedReader/main.m16
-rw-r--r--iphone/examples/EmbedReader/ZBarSDK1
-rw-r--r--iphone/examples/EmbedReader/build1
-rw-r--r--iphone/examples/ReaderSample/ReaderSample.xcodeproj/project.pbxproj419
-rw-r--r--iphone/examples/ReaderSample/ReaderSample.xcodeproj/xcshareddata/xcschemes/ReaderSample.xcscheme76
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSample-Info.plist38
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSample-Prefix.pch16
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.h20
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.m67
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.h19
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m68
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/en.lproj/InfoPlist.strings2
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/en.lproj/MainWindow.xib444
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/en.lproj/ReaderSampleViewController.xib319
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/main.m16
-rw-r--r--iphone/examples/ReaderSample/ZBarSDK1
-rw-r--r--iphone/examples/ReaderSample/build1
-rw-r--r--iphone/examples/TabReader/TabReader.xcodeproj/project.pbxproj420
-rw-r--r--iphone/examples/TabReader/TabReader.xcodeproj/xcshareddata/xcschemes/TabReader.xcscheme80
-rw-r--r--iphone/examples/TabReader/TabReader/ResultsViewController.h16
-rw-r--r--iphone/examples/TabReader/TabReader/ResultsViewController.m20
-rw-r--r--iphone/examples/TabReader/TabReader/TabReader-Info.plist38
-rw-r--r--iphone/examples/TabReader/TabReader/TabReader-Prefix.pch15
-rw-r--r--iphone/examples/TabReader/TabReader/TabReaderAppDelegate.h18
-rw-r--r--iphone/examples/TabReader/TabReader/TabReaderAppDelegate.m62
-rw-r--r--iphone/examples/TabReader/TabReader/en.lproj/InfoPlist.strings2
-rw-r--r--iphone/examples/TabReader/TabReader/en.lproj/MainWindow.xib411
-rw-r--r--iphone/examples/TabReader/TabReader/en.lproj/ResultsView.xib303
-rw-r--r--iphone/examples/TabReader/TabReader/main.m16
-rw-r--r--iphone/examples/TabReader/ZBarSDK1
-rw-r--r--iphone/examples/TabReader/build1
-rw-r--r--iphone/examples/readertest/ZBarSDK1
-rw-r--r--iphone/examples/readertest/build1
-rw-r--r--iphone/examples/readertest/entitlements.plist8
-rw-r--r--iphone/examples/readertest/prefix.pch11
-rw-r--r--iphone/examples/readertest/readertest.m991
-rw-r--r--iphone/examples/readertest/readertest.plist28
-rw-r--r--iphone/examples/readertest/readertest.xcodeproj/project.pbxproj351
-rw-r--r--iphone/examples/readertest/readertest.xcodeproj/xcshareddata/xcschemes/readertest.xcscheme76
50 files changed, 5892 insertions, 0 deletions
diff --git a/iphone/examples/EmbedReader/EmbedReader.xcodeproj/project.pbxproj b/iphone/examples/EmbedReader/EmbedReader.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..52183f7
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader.xcodeproj/project.pbxproj
@@ -0,0 +1,416 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ DC824612162B5E140010B2E6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC824611162B5E140010B2E6 /* Default-568h@2x.png */; };
+ DCFB4494136F7202004B3EE0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB4493136F7202004B3EE0 /* UIKit.framework */; };
+ DCFB4496136F7202004B3EE0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB4495136F7202004B3EE0 /* Foundation.framework */; };
+ DCFB4498136F7202004B3EE0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB4497136F7202004B3EE0 /* CoreGraphics.framework */; };
+ DCFB449E136F7203004B3EE0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCFB449C136F7203004B3EE0 /* InfoPlist.strings */; };
+ DCFB44A1136F7203004B3EE0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFB44A0136F7203004B3EE0 /* main.m */; };
+ DCFB44A4136F7203004B3EE0 /* EmbedReaderAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFB44A3136F7203004B3EE0 /* EmbedReaderAppDelegate.m */; };
+ DCFB44A7136F7203004B3EE0 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44A5136F7203004B3EE0 /* MainWindow.xib */; };
+ DCFB44AA136F7203004B3EE0 /* EmbedReaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFB44A9136F7203004B3EE0 /* EmbedReaderViewController.m */; };
+ DCFB44AD136F7203004B3EE0 /* EmbedReaderViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44AB136F7203004B3EE0 /* EmbedReaderViewController.xib */; };
+ DCFB44D0136F722A004B3EE0 /* libzbar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44CA136F722A004B3EE0 /* libzbar.a */; };
+ DCFB44D1136F722A004B3EE0 /* zbar-back.png in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44CC136F722A004B3EE0 /* zbar-back.png */; };
+ DCFB44D2136F722A004B3EE0 /* zbar-help.html in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44CD136F722A004B3EE0 /* zbar-help.html */; };
+ DCFB44D3136F722A004B3EE0 /* zbar-helpicons.png in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44CE136F722A004B3EE0 /* zbar-helpicons.png */; };
+ DCFB44D4136F722A004B3EE0 /* zbar-samples.png in Resources */ = {isa = PBXBuildFile; fileRef = DCFB44CF136F722A004B3EE0 /* zbar-samples.png */; };
+ DCFB44DA136F72D3004B3EE0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44D5136F72D3004B3EE0 /* AVFoundation.framework */; };
+ DCFB44DB136F72D3004B3EE0 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44D6136F72D3004B3EE0 /* CoreMedia.framework */; };
+ DCFB44DC136F72D3004B3EE0 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44D7136F72D3004B3EE0 /* CoreVideo.framework */; };
+ DCFB44DD136F72D3004B3EE0 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44D8136F72D3004B3EE0 /* libiconv.dylib */; };
+ DCFB44DE136F72D3004B3EE0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFB44D9136F72D3004B3EE0 /* QuartzCore.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ DC824611162B5E140010B2E6 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = SOURCE_ROOT; };
+ DCFB448F136F7202004B3EE0 /* EmbedReader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EmbedReader.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ DCFB4493136F7202004B3EE0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ DCFB4495136F7202004B3EE0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ DCFB4497136F7202004B3EE0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ DCFB449B136F7202004B3EE0 /* EmbedReader-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "EmbedReader-Info.plist"; sourceTree = "<group>"; };
+ DCFB449D136F7203004B3EE0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ DCFB449F136F7203004B3EE0 /* EmbedReader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EmbedReader-Prefix.pch"; sourceTree = "<group>"; };
+ DCFB44A0136F7203004B3EE0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ DCFB44A2136F7203004B3EE0 /* EmbedReaderAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EmbedReaderAppDelegate.h; sourceTree = "<group>"; };
+ DCFB44A3136F7203004B3EE0 /* EmbedReaderAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EmbedReaderAppDelegate.m; sourceTree = "<group>"; };
+ DCFB44A6136F7203004B3EE0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
+ DCFB44A8136F7203004B3EE0 /* EmbedReaderViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EmbedReaderViewController.h; sourceTree = "<group>"; };
+ DCFB44A9136F7203004B3EE0 /* EmbedReaderViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EmbedReaderViewController.m; sourceTree = "<group>"; };
+ DCFB44AC136F7203004B3EE0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/EmbedReaderViewController.xib; sourceTree = "<group>"; };
+ DCFB44B7136F722A004B3EE0 /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = "<group>"; };
+ DCFB44B8136F722A004B3EE0 /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = "<group>"; };
+ DCFB44B9136F722A004B3EE0 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = "<group>"; };
+ DCFB44BA136F722A004B3EE0 /* ImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageScanner.h; sourceTree = "<group>"; };
+ DCFB44BB136F722A004B3EE0 /* Processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Processor.h; sourceTree = "<group>"; };
+ DCFB44BC136F722A004B3EE0 /* Scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scanner.h; sourceTree = "<group>"; };
+ DCFB44BD136F722A004B3EE0 /* Symbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Symbol.h; sourceTree = "<group>"; };
+ DCFB44BE136F722A004B3EE0 /* Video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Video.h; sourceTree = "<group>"; };
+ DCFB44BF136F722A004B3EE0 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = "<group>"; };
+ DCFB44C0136F722A004B3EE0 /* zbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zbar.h; sourceTree = "<group>"; };
+ DCFB44C1136F722A004B3EE0 /* ZBarCaptureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarCaptureReader.h; sourceTree = "<group>"; };
+ DCFB44C2136F722A004B3EE0 /* ZBarHelpController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarHelpController.h; sourceTree = "<group>"; };
+ DCFB44C3136F722A004B3EE0 /* ZBarImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImage.h; sourceTree = "<group>"; };
+ DCFB44C4136F722A004B3EE0 /* ZBarImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImageScanner.h; sourceTree = "<group>"; };
+ DCFB44C5136F722A004B3EE0 /* ZBarReaderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderController.h; sourceTree = "<group>"; };
+ DCFB44C6136F722A004B3EE0 /* ZBarReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderView.h; sourceTree = "<group>"; };
+ DCFB44C7136F722A004B3EE0 /* ZBarReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderViewController.h; sourceTree = "<group>"; };
+ DCFB44C8136F722A004B3EE0 /* ZBarSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSDK.h; sourceTree = "<group>"; };
+ DCFB44C9136F722A004B3EE0 /* ZBarSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSymbol.h; sourceTree = "<group>"; };
+ DCFB44CA136F722A004B3EE0 /* libzbar.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libzbar.a; sourceTree = "<group>"; };
+ DCFB44CC136F722A004B3EE0 /* zbar-back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-back.png"; sourceTree = "<group>"; };
+ DCFB44CD136F722A004B3EE0 /* zbar-help.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "zbar-help.html"; sourceTree = "<group>"; };
+ DCFB44CE136F722A004B3EE0 /* zbar-helpicons.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-helpicons.png"; sourceTree = "<group>"; };
+ DCFB44CF136F722A004B3EE0 /* zbar-samples.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-samples.png"; sourceTree = "<group>"; };
+ DCFB44D5136F72D3004B3EE0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ DCFB44D6136F72D3004B3EE0 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
+ DCFB44D7136F72D3004B3EE0 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
+ DCFB44D8136F72D3004B3EE0 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
+ DCFB44D9136F72D3004B3EE0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ DCFB448C136F7202004B3EE0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DCFB4494136F7202004B3EE0 /* UIKit.framework in Frameworks */,
+ DCFB4496136F7202004B3EE0 /* Foundation.framework in Frameworks */,
+ DCFB4498136F7202004B3EE0 /* CoreGraphics.framework in Frameworks */,
+ DCFB44DE136F72D3004B3EE0 /* QuartzCore.framework in Frameworks */,
+ DCFB44DB136F72D3004B3EE0 /* CoreMedia.framework in Frameworks */,
+ DCFB44DC136F72D3004B3EE0 /* CoreVideo.framework in Frameworks */,
+ DCFB44DA136F72D3004B3EE0 /* AVFoundation.framework in Frameworks */,
+ DCFB44DD136F72D3004B3EE0 /* libiconv.dylib in Frameworks */,
+ DCFB44D0136F722A004B3EE0 /* libzbar.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ DCFB4484136F7202004B3EE0 = {
+ isa = PBXGroup;
+ children = (
+ DCFB4499136F7202004B3EE0 /* EmbedReader */,
+ DCFB44B3136F722A004B3EE0 /* ZBarSDK */,
+ DCFB4492136F7202004B3EE0 /* Frameworks */,
+ DCFB4490136F7202004B3EE0 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ DCFB4490136F7202004B3EE0 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB448F136F7202004B3EE0 /* EmbedReader.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DCFB4492136F7202004B3EE0 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB4493136F7202004B3EE0 /* UIKit.framework */,
+ DCFB4495136F7202004B3EE0 /* Foundation.framework */,
+ DCFB4497136F7202004B3EE0 /* CoreGraphics.framework */,
+ DCFB44D9136F72D3004B3EE0 /* QuartzCore.framework */,
+ DCFB44D6136F72D3004B3EE0 /* CoreMedia.framework */,
+ DCFB44D7136F72D3004B3EE0 /* CoreVideo.framework */,
+ DCFB44D5136F72D3004B3EE0 /* AVFoundation.framework */,
+ DCFB44D8136F72D3004B3EE0 /* libiconv.dylib */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ DCFB4499136F7202004B3EE0 /* EmbedReader */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44A2136F7203004B3EE0 /* EmbedReaderAppDelegate.h */,
+ DCFB44A3136F7203004B3EE0 /* EmbedReaderAppDelegate.m */,
+ DCFB44A5136F7203004B3EE0 /* MainWindow.xib */,
+ DCFB44A8136F7203004B3EE0 /* EmbedReaderViewController.h */,
+ DCFB44A9136F7203004B3EE0 /* EmbedReaderViewController.m */,
+ DCFB44AB136F7203004B3EE0 /* EmbedReaderViewController.xib */,
+ DCFB449A136F7202004B3EE0 /* Supporting Files */,
+ );
+ path = EmbedReader;
+ sourceTree = "<group>";
+ };
+ DCFB449A136F7202004B3EE0 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB449B136F7202004B3EE0 /* EmbedReader-Info.plist */,
+ DCFB449C136F7203004B3EE0 /* InfoPlist.strings */,
+ DC824611162B5E140010B2E6 /* Default-568h@2x.png */,
+ DCFB449F136F7203004B3EE0 /* EmbedReader-Prefix.pch */,
+ DCFB44A0136F7203004B3EE0 /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ DCFB44B3136F722A004B3EE0 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44B4136F722A004B3EE0 /* Headers */,
+ DCFB44CA136F722A004B3EE0 /* libzbar.a */,
+ DCFB44CB136F722A004B3EE0 /* Resources */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DCFB44B4136F722A004B3EE0 /* Headers */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44B5136F722A004B3EE0 /* ZBarSDK */,
+ );
+ path = Headers;
+ sourceTree = "<group>";
+ };
+ DCFB44B5136F722A004B3EE0 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44B6136F722A004B3EE0 /* zbar */,
+ DCFB44C0136F722A004B3EE0 /* zbar.h */,
+ DCFB44C1136F722A004B3EE0 /* ZBarCaptureReader.h */,
+ DCFB44C2136F722A004B3EE0 /* ZBarHelpController.h */,
+ DCFB44C3136F722A004B3EE0 /* ZBarImage.h */,
+ DCFB44C4136F722A004B3EE0 /* ZBarImageScanner.h */,
+ DCFB44C5136F722A004B3EE0 /* ZBarReaderController.h */,
+ DCFB44C6136F722A004B3EE0 /* ZBarReaderView.h */,
+ DCFB44C7136F722A004B3EE0 /* ZBarReaderViewController.h */,
+ DCFB44C8136F722A004B3EE0 /* ZBarSDK.h */,
+ DCFB44C9136F722A004B3EE0 /* ZBarSymbol.h */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DCFB44B6136F722A004B3EE0 /* zbar */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44B7136F722A004B3EE0 /* Decoder.h */,
+ DCFB44B8136F722A004B3EE0 /* Exception.h */,
+ DCFB44B9136F722A004B3EE0 /* Image.h */,
+ DCFB44BA136F722A004B3EE0 /* ImageScanner.h */,
+ DCFB44BB136F722A004B3EE0 /* Processor.h */,
+ DCFB44BC136F722A004B3EE0 /* Scanner.h */,
+ DCFB44BD136F722A004B3EE0 /* Symbol.h */,
+ DCFB44BE136F722A004B3EE0 /* Video.h */,
+ DCFB44BF136F722A004B3EE0 /* Window.h */,
+ );
+ path = zbar;
+ sourceTree = "<group>";
+ };
+ DCFB44CB136F722A004B3EE0 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ DCFB44CC136F722A004B3EE0 /* zbar-back.png */,
+ DCFB44CD136F722A004B3EE0 /* zbar-help.html */,
+ DCFB44CE136F722A004B3EE0 /* zbar-helpicons.png */,
+ DCFB44CF136F722A004B3EE0 /* zbar-samples.png */,
+ );
+ path = Resources;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ DCFB448E136F7202004B3EE0 /* EmbedReader */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DCFB44B0136F7203004B3EE0 /* Build configuration list for PBXNativeTarget "EmbedReader" */;
+ buildPhases = (
+ DCFB448B136F7202004B3EE0 /* Sources */,
+ DCFB448C136F7202004B3EE0 /* Frameworks */,
+ DCFB448D136F7202004B3EE0 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = EmbedReader;
+ productName = EmbedReader;
+ productReference = DCFB448F136F7202004B3EE0 /* EmbedReader.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ DCFB4486136F7202004B3EE0 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = DCFB4489136F7202004B3EE0 /* Build configuration list for PBXProject "EmbedReader" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = DCFB4484136F7202004B3EE0;
+ productRefGroup = DCFB4490136F7202004B3EE0 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ DCFB448E136F7202004B3EE0 /* EmbedReader */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ DCFB448D136F7202004B3EE0 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DCFB449E136F7203004B3EE0 /* InfoPlist.strings in Resources */,
+ DCFB44A7136F7203004B3EE0 /* MainWindow.xib in Resources */,
+ DCFB44AD136F7203004B3EE0 /* EmbedReaderViewController.xib in Resources */,
+ DCFB44D1136F722A004B3EE0 /* zbar-back.png in Resources */,
+ DCFB44D2136F722A004B3EE0 /* zbar-help.html in Resources */,
+ DCFB44D3136F722A004B3EE0 /* zbar-helpicons.png in Resources */,
+ DCFB44D4136F722A004B3EE0 /* zbar-samples.png in Resources */,
+ DC824612162B5E140010B2E6 /* Default-568h@2x.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ DCFB448B136F7202004B3EE0 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DCFB44A1136F7203004B3EE0 /* main.m in Sources */,
+ DCFB44A4136F7203004B3EE0 /* EmbedReaderAppDelegate.m in Sources */,
+ DCFB44AA136F7203004B3EE0 /* EmbedReaderViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ DCFB449C136F7203004B3EE0 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DCFB449D136F7203004B3EE0 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ DCFB44A5136F7203004B3EE0 /* MainWindow.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DCFB44A6136F7203004B3EE0 /* en */,
+ );
+ name = MainWindow.xib;
+ sourceTree = "<group>";
+ };
+ DCFB44AB136F7203004B3EE0 /* EmbedReaderViewController.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DCFB44AC136F7203004B3EE0 /* en */,
+ );
+ name = EmbedReaderViewController.xib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ DCFB44AE136F7203004B3EE0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ DCFB44AF136F7203004B3EE0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ DCFB44B1136F7203004B3EE0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "EmbedReader/EmbedReader-Prefix.pch";
+ INFOPLIST_FILE = "EmbedReader/EmbedReader-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ DCFB44B2136F7203004B3EE0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "EmbedReader/EmbedReader-Prefix.pch";
+ INFOPLIST_FILE = "EmbedReader/EmbedReader-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ DCFB4489136F7202004B3EE0 /* Build configuration list for PBXProject "EmbedReader" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DCFB44AE136F7203004B3EE0 /* Debug */,
+ DCFB44AF136F7203004B3EE0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DCFB44B0136F7203004B3EE0 /* Build configuration list for PBXNativeTarget "EmbedReader" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DCFB44B1136F7203004B3EE0 /* Debug */,
+ DCFB44B2136F7203004B3EE0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = DCFB4486136F7202004B3EE0 /* Project object */;
+}
diff --git a/iphone/examples/EmbedReader/EmbedReader.xcodeproj/xcshareddata/xcschemes/EmbedReader.xcscheme b/iphone/examples/EmbedReader/EmbedReader.xcodeproj/xcshareddata/xcschemes/EmbedReader.xcscheme
new file mode 100644
index 0000000..7f08e65
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader.xcodeproj/xcshareddata/xcschemes/EmbedReader.xcscheme
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DCFB448E136F7202004B3EE0"
+ BuildableName = "EmbedReader.app"
+ BlueprintName = "EmbedReader"
+ ReferencedContainer = "container:EmbedReader.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DCFB448E136F7202004B3EE0"
+ BuildableName = "EmbedReader.app"
+ BlueprintName = "EmbedReader"
+ ReferencedContainer = "container:EmbedReader.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DCFB448E136F7202004B3EE0"
+ BuildableName = "EmbedReader.app"
+ BlueprintName = "EmbedReader"
+ ReferencedContainer = "container:EmbedReader.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Info.plist b/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Info.plist
new file mode 100644
index 0000000..fd80eb6
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Info.plist
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>net.sourceforge.zbar.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string>MainWindow</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ </array>
+</dict>
+</plist>
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Prefix.pch b/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Prefix.pch
new file mode 100644
index 0000000..ed6587b
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReader-Prefix.pch
@@ -0,0 +1,11 @@
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+# import <UIKit/UIKit.h>
+# import <Foundation/Foundation.h>
+# import "ZBarSDK.h"
+#endif
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.h b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.h
new file mode 100644
index 0000000..ab79042
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.h
@@ -0,0 +1,19 @@
+//
+// EmbedReaderAppDelegate.h
+// EmbedReader
+//
+// Created by spadix on 5/2/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@class EmbedReaderViewController;
+
+@interface EmbedReaderAppDelegate : NSObject <UIApplicationDelegate> {
+}
+
+@property (nonatomic, retain) IBOutlet UIWindow *window;
+@property (nonatomic, retain)
+ IBOutlet EmbedReaderViewController *viewController;
+
+@end
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.m b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.m
new file mode 100644
index 0000000..5db5649
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderAppDelegate.m
@@ -0,0 +1,34 @@
+//
+// EmbedReaderAppDelegate.m
+// EmbedReader
+//
+// Created by spadix on 5/2/11.
+//
+
+#import "EmbedReaderAppDelegate.h"
+#import "EmbedReaderViewController.h"
+
+@implementation EmbedReaderAppDelegate
+@synthesize window=_window;
+@synthesize viewController=_viewController;
+
+- (BOOL) application: (UIApplication*) application
+ didFinishLaunchingWithOptions: (NSDictionary*) launchOptions
+{
+ self.window.rootViewController = self.viewController;
+ [self.window makeKeyAndVisible];
+
+ // force view class to load so it may be referenced directly from NIB
+ [ZBarReaderView class];
+
+ return(YES);
+}
+
+- (void) dealloc
+{
+ [_window release];
+ [_viewController release];
+ [super dealloc];
+}
+
+@end
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.h b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.h
new file mode 100644
index 0000000..100dc03
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.h
@@ -0,0 +1,20 @@
+//
+// EmbedReaderViewController.h
+// EmbedReader
+//
+// Created by spadix on 5/2/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface EmbedReaderViewController
+ : UIViewController <ZBarReaderViewDelegate> {
+ ZBarReaderView *readerView;
+ UITextView *resultText;
+ ZBarCameraSimulator *cameraSim;
+}
+
+@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
+@property (nonatomic, retain) IBOutlet UITextView *resultText;
+
+@end
diff --git a/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.m b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.m
new file mode 100644
index 0000000..177c190
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/EmbedReaderViewController.m
@@ -0,0 +1,101 @@
+//
+// EmbedReaderViewController.m
+// EmbedReader
+//
+// Created by spadix on 5/2/11.
+//
+
+#import "EmbedReaderViewController.h"
+
+@implementation EmbedReaderViewController
+
+@synthesize readerView, resultText;
+
+- (void) cleanup
+{
+ [cameraSim release];
+ cameraSim = nil;
+ readerView.readerDelegate = nil;
+ [readerView release];
+ readerView = nil;
+ [resultText release];
+ resultText = nil;
+}
+
+- (void) dealloc
+{
+ [self cleanup];
+ [super dealloc];
+}
+
+- (void) viewDidLoad
+{
+ [super viewDidLoad];
+
+ // the delegate receives decode results
+ readerView.readerDelegate = self;
+
+ // ensure initial camera orientation is correctly set
+ UIApplication *app = [UIApplication sharedApplication];
+ [readerView willRotateToInterfaceOrientation: app.statusBarOrientation
+ duration: 0];
+
+ // you can use this to support the simulator
+ if(TARGET_IPHONE_SIMULATOR) {
+ cameraSim = [[ZBarCameraSimulator alloc]
+ initWithViewController: self];
+ cameraSim.readerView = readerView;
+ }
+}
+
+- (void) viewDidUnload
+{
+ [self cleanup];
+ [super viewDidUnload];
+}
+
+- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+{
+ // auto-rotation is supported
+ return(YES);
+}
+
+- (void) willRotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+ duration: (NSTimeInterval) duration
+{
+ // compensate for view rotation so camera preview is not rotated
+ [readerView willRotateToInterfaceOrientation: orient
+ duration: duration];
+}
+
+- (void) willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation) orient
+ duration: (NSTimeInterval) duration
+{
+ // perform rotation in animation loop so camera preview does not move
+ // wrt device orientation
+ [readerView setNeedsLayout];
+}
+
+- (void) viewDidAppear: (BOOL) animated
+{
+ // run the reader when the view is visible
+ [readerView start];
+}
+
+- (void) viewWillDisappear: (BOOL) animated
+{
+ [readerView stop];
+}
+
+- (void) readerView: (ZBarReaderView*) view
+ didReadSymbols: (ZBarSymbolSet*) syms
+ fromImage: (UIImage*) img
+{
+ // do something useful with results
+ for(ZBarSymbol *sym in syms) {
+ resultText.text = sym.data;
+ break;
+ }
+}
+
+@end
diff --git a/iphone/examples/EmbedReader/EmbedReader/en.lproj/EmbedReaderViewController.xib b/iphone/examples/EmbedReader/EmbedReader/en.lproj/EmbedReaderViewController.xib
new file mode 100644
index 0000000..8f4e9dc
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/en.lproj/EmbedReaderViewController.xib
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1056</int>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">301</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBUINavigationItem</string>
+ <string>IBUIToolbar</string>
+ <string>IBUITextView</string>
+ <string>IBUIView</string>
+ <string>IBUINavigationBar</string>
+ <string>IBProxyObject</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="843779117">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="774585933">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIView" id="461611788">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">306</int>
+ <string key="NSFrame">{{8, 52}, {304, 228}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="971445553"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUINavigationBar" id="583656854">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">290</int>
+ <string key="NSFrameSize">{320, 44}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="461611788"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSArray" key="IBUIItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUINavigationItem" id="889758731">
+ <reference key="IBUINavigationBar" ref="583656854"/>
+ <string key="IBUITitle">EmbedReader</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBUIToolbar" id="89745263">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{0, 416}, {320, 44}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableArray" key="IBUIItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="IBUITextView" id="971445553">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">314</int>
+ <string key="NSFrame">{{8, 300}, {304, 94}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="89745263"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwAA</bytes>
+ </object>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIEditable">NO</bool>
+ <string key="IBUIText">No barcode scanned...</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="583656854"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC43NQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="774585933"/>
+ </object>
+ <int key="connectionID">7</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">readerView</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="461611788"/>
+ </object>
+ <int key="connectionID">16</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">resultText</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="971445553"/>
+ </object>
+ <int key="connectionID">17</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="843779117"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="774585933"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="583656854"/>
+ <reference ref="89745263"/>
+ <reference ref="971445553"/>
+ <reference ref="461611788"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="461611788"/>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="583656854"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="889758731"/>
+ </object>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">12</int>
+ <reference key="object" ref="889758731"/>
+ <reference key="parent" ref="583656854"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">13</int>
+ <reference key="object" ref="89745263"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">15</int>
+ <reference key="object" ref="971445553"/>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>11.IBPluginDependency</string>
+ <string>12.IBPluginDependency</string>
+ <string>13.IBPluginDependency</string>
+ <string>15.IBPluginDependency</string>
+ <string>6.IBEditorWindowLastContentRect</string>
+ <string>6.IBPluginDependency</string>
+ <string>8.CustomClassName</string>
+ <string>8.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>EmbedReaderViewController</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{239, 654}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>ZBarReaderView</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">18</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">EmbedReaderViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>readerView</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ZBarReaderView</string>
+ <string>UITextView</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>readerView</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">readerView</string>
+ <string key="candidateClassName">ZBarReaderView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultText</string>
+ <string key="candidateClassName">UITextView</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/EmbedReaderViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">ZBarReaderView</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/ZBarReaderView.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">301</string>
+ </data>
+</archive>
diff --git a/iphone/examples/EmbedReader/EmbedReader/en.lproj/InfoPlist.strings b/iphone/examples/EmbedReader/EmbedReader/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/iphone/examples/EmbedReader/EmbedReader/en.lproj/MainWindow.xib b/iphone/examples/EmbedReader/EmbedReader/en.lproj/MainWindow.xib
new file mode 100644
index 0000000..dea1ac4
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/en.lproj/MainWindow.xib
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10D571</string>
+ <string key="IBDocument.InterfaceBuilderVersion">786</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">112</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="10"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="427554174">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIViewController" id="943309135">
+ <string key="IBUINibName">EmbedReaderViewController</string>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ <object class="IBUIWindow" id="117978783">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrameSize">{320, 480}</string>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">viewController</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="943309135"/>
+ </object>
+ <int key="connectionID">11</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="117978783"/>
+ </object>
+ <int key="connectionID">14</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="664661524"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">EmbedReader App Delegate</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="427554174"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="943309135"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">12</int>
+ <reference key="object" ref="117978783"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>10.CustomClassName</string>
+ <string>10.IBEditorWindowLastContentRect</string>
+ <string>10.IBPluginDependency</string>
+ <string>12.IBEditorWindowLastContentRect</string>
+ <string>12.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <string>EmbedReaderViewController</string>
+ <string>{{234, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{525, 346}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>EmbedReaderAppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">15</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">EmbedReaderAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>viewController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>EmbedReaderViewController</string>
+ <string>UIWindow</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>viewController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">viewController</string>
+ <string key="candidateClassName">EmbedReaderViewController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">EmbedReaderAppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">EmbedReaderAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">EmbedReaderViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">EmbedReaderViewController.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="356479594">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIApplication</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="356479594"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchDisplayController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">EmbedReader.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">112</string>
+ </data>
+</archive>
diff --git a/iphone/examples/EmbedReader/EmbedReader/main.m b/iphone/examples/EmbedReader/EmbedReader/main.m
new file mode 100644
index 0000000..e91e4ba
--- /dev/null
+++ b/iphone/examples/EmbedReader/EmbedReader/main.m
@@ -0,0 +1,16 @@
+//
+// main.m
+// EmbedReader
+//
+// Created by spadix on 5/2/11.
+//
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[])
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ int retVal = UIApplicationMain(argc, argv, nil, nil);
+ [pool release];
+ return retVal;
+}
diff --git a/iphone/examples/EmbedReader/ZBarSDK b/iphone/examples/EmbedReader/ZBarSDK
new file mode 100644
index 0000000..7a373ea
--- /dev/null
+++ b/iphone/examples/EmbedReader/ZBarSDK
@@ -0,0 +1 @@
+../../build/Debug-iphoneos/ZBarSDK \ No newline at end of file
diff --git a/iphone/examples/EmbedReader/build b/iphone/examples/EmbedReader/build
new file mode 100644
index 0000000..534f8d4
--- /dev/null
+++ b/iphone/examples/EmbedReader/build
@@ -0,0 +1 @@
+/tmp/EmbedReader.build \ No newline at end of file
diff --git a/iphone/examples/ReaderSample/ReaderSample.xcodeproj/project.pbxproj b/iphone/examples/ReaderSample/ReaderSample.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..0a0db3e
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample.xcodeproj/project.pbxproj
@@ -0,0 +1,419 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ DC8245F5162B549F0010B2E6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC8245F4162B549F0010B2E6 /* Default-568h@2x.png */; };
+ DC8F289413579EFF005B8862 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F289313579EFF005B8862 /* UIKit.framework */; };
+ DC8F289613579EFF005B8862 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F289513579EFF005B8862 /* Foundation.framework */; };
+ DC8F289813579EFF005B8862 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F289713579EFF005B8862 /* CoreGraphics.framework */; };
+ DC8F289E13579EFF005B8862 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC8F289C13579EFF005B8862 /* InfoPlist.strings */; };
+ DC8F28A113579EFF005B8862 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8F28A013579EFF005B8862 /* main.m */; };
+ DC8F28A413579EFF005B8862 /* ReaderSampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8F28A313579EFF005B8862 /* ReaderSampleAppDelegate.m */; };
+ DC8F28A713579EFF005B8862 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28A513579EFF005B8862 /* MainWindow.xib */; };
+ DC8F28AA13579EFF005B8862 /* ReaderSampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8F28A913579EFF005B8862 /* ReaderSampleViewController.m */; };
+ DC8F28AD13579F00005B8862 /* ReaderSampleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28AB13579EFF005B8862 /* ReaderSampleViewController.xib */; };
+ DC8F28D01357A29D005B8862 /* libzbar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28CA1357A29D005B8862 /* libzbar.a */; };
+ DC8F28D11357A29D005B8862 /* zbar-back.png in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28CC1357A29D005B8862 /* zbar-back.png */; };
+ DC8F28D21357A29D005B8862 /* zbar-help.html in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28CD1357A29D005B8862 /* zbar-help.html */; };
+ DC8F28D31357A29D005B8862 /* zbar-helpicons.png in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28CE1357A29D005B8862 /* zbar-helpicons.png */; };
+ DC8F28D41357A29D005B8862 /* zbar-samples.png in Resources */ = {isa = PBXBuildFile; fileRef = DC8F28CF1357A29D005B8862 /* zbar-samples.png */; };
+ DC8F28DA1357A42E005B8862 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28D51357A42E005B8862 /* AVFoundation.framework */; };
+ DC8F28DB1357A42E005B8862 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28D61357A42E005B8862 /* CoreMedia.framework */; };
+ DC8F28DC1357A42E005B8862 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28D71357A42E005B8862 /* CoreVideo.framework */; };
+ DC8F28DD1357A42E005B8862 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28D81357A42E005B8862 /* libiconv.dylib */; };
+ DC8F28DE1357A42E005B8862 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8F28D91357A42E005B8862 /* QuartzCore.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ DC8245F4162B549F0010B2E6 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = SOURCE_ROOT; };
+ DC8F288F13579EFF005B8862 /* ReaderSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReaderSample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ DC8F289313579EFF005B8862 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ DC8F289513579EFF005B8862 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ DC8F289713579EFF005B8862 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ DC8F289B13579EFF005B8862 /* ReaderSample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ReaderSample-Info.plist"; sourceTree = "<group>"; };
+ DC8F289D13579EFF005B8862 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ DC8F289F13579EFF005B8862 /* ReaderSample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReaderSample-Prefix.pch"; sourceTree = "<group>"; };
+ DC8F28A013579EFF005B8862 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ DC8F28A213579EFF005B8862 /* ReaderSampleAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReaderSampleAppDelegate.h; sourceTree = "<group>"; };
+ DC8F28A313579EFF005B8862 /* ReaderSampleAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReaderSampleAppDelegate.m; sourceTree = "<group>"; };
+ DC8F28A613579EFF005B8862 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
+ DC8F28A813579EFF005B8862 /* ReaderSampleViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReaderSampleViewController.h; sourceTree = "<group>"; };
+ DC8F28A913579EFF005B8862 /* ReaderSampleViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReaderSampleViewController.m; sourceTree = "<group>"; };
+ DC8F28AC13579F00005B8862 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ReaderSampleViewController.xib; sourceTree = "<group>"; };
+ DC8F28B71357A29D005B8862 /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = "<group>"; };
+ DC8F28B81357A29D005B8862 /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = "<group>"; };
+ DC8F28B91357A29D005B8862 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = "<group>"; };
+ DC8F28BA1357A29D005B8862 /* ImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageScanner.h; sourceTree = "<group>"; };
+ DC8F28BB1357A29D005B8862 /* Processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Processor.h; sourceTree = "<group>"; };
+ DC8F28BC1357A29D005B8862 /* Scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scanner.h; sourceTree = "<group>"; };
+ DC8F28BD1357A29D005B8862 /* Symbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Symbol.h; sourceTree = "<group>"; };
+ DC8F28BE1357A29D005B8862 /* Video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Video.h; sourceTree = "<group>"; };
+ DC8F28BF1357A29D005B8862 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = "<group>"; };
+ DC8F28C01357A29D005B8862 /* zbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zbar.h; sourceTree = "<group>"; };
+ DC8F28C11357A29D005B8862 /* ZBarCaptureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarCaptureReader.h; sourceTree = "<group>"; };
+ DC8F28C21357A29D005B8862 /* ZBarHelpController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarHelpController.h; sourceTree = "<group>"; };
+ DC8F28C31357A29D005B8862 /* ZBarImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImage.h; sourceTree = "<group>"; };
+ DC8F28C41357A29D005B8862 /* ZBarImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImageScanner.h; sourceTree = "<group>"; };
+ DC8F28C51357A29D005B8862 /* ZBarReaderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderController.h; sourceTree = "<group>"; };
+ DC8F28C61357A29D005B8862 /* ZBarReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderView.h; sourceTree = "<group>"; };
+ DC8F28C71357A29D005B8862 /* ZBarReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderViewController.h; sourceTree = "<group>"; };
+ DC8F28C81357A29D005B8862 /* ZBarSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSDK.h; sourceTree = "<group>"; };
+ DC8F28C91357A29D005B8862 /* ZBarSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSymbol.h; sourceTree = "<group>"; };
+ DC8F28CA1357A29D005B8862 /* libzbar.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libzbar.a; sourceTree = "<group>"; };
+ DC8F28CC1357A29D005B8862 /* zbar-back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-back.png"; sourceTree = "<group>"; };
+ DC8F28CD1357A29D005B8862 /* zbar-help.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "zbar-help.html"; sourceTree = "<group>"; };
+ DC8F28CE1357A29D005B8862 /* zbar-helpicons.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-helpicons.png"; sourceTree = "<group>"; };
+ DC8F28CF1357A29D005B8862 /* zbar-samples.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-samples.png"; sourceTree = "<group>"; };
+ DC8F28D51357A42E005B8862 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ DC8F28D61357A42E005B8862 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
+ DC8F28D71357A42E005B8862 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
+ DC8F28D81357A42E005B8862 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
+ DC8F28D91357A42E005B8862 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ DC8F288C13579EFF005B8862 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC8F28DA1357A42E005B8862 /* AVFoundation.framework in Frameworks */,
+ DC8F28DB1357A42E005B8862 /* CoreMedia.framework in Frameworks */,
+ DC8F28DC1357A42E005B8862 /* CoreVideo.framework in Frameworks */,
+ DC8F28DD1357A42E005B8862 /* libiconv.dylib in Frameworks */,
+ DC8F28DE1357A42E005B8862 /* QuartzCore.framework in Frameworks */,
+ DC8F289413579EFF005B8862 /* UIKit.framework in Frameworks */,
+ DC8F289613579EFF005B8862 /* Foundation.framework in Frameworks */,
+ DC8F289813579EFF005B8862 /* CoreGraphics.framework in Frameworks */,
+ DC8F28D01357A29D005B8862 /* libzbar.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ DC8F288413579EFF005B8862 = {
+ isa = PBXGroup;
+ children = (
+ DC8F289913579EFF005B8862 /* ReaderSample */,
+ DC8F28B31357A29D005B8862 /* ZBarSDK */,
+ DC8F289213579EFF005B8862 /* Frameworks */,
+ DC8F289013579EFF005B8862 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ DC8F289013579EFF005B8862 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F288F13579EFF005B8862 /* ReaderSample.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DC8F289213579EFF005B8862 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F289313579EFF005B8862 /* UIKit.framework */,
+ DC8F289513579EFF005B8862 /* Foundation.framework */,
+ DC8F289713579EFF005B8862 /* CoreGraphics.framework */,
+ DC8F28D91357A42E005B8862 /* QuartzCore.framework */,
+ DC8F28D61357A42E005B8862 /* CoreMedia.framework */,
+ DC8F28D71357A42E005B8862 /* CoreVideo.framework */,
+ DC8F28D51357A42E005B8862 /* AVFoundation.framework */,
+ DC8F28D81357A42E005B8862 /* libiconv.dylib */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ DC8F289913579EFF005B8862 /* ReaderSample */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28A213579EFF005B8862 /* ReaderSampleAppDelegate.h */,
+ DC8F28A313579EFF005B8862 /* ReaderSampleAppDelegate.m */,
+ DC8F28A513579EFF005B8862 /* MainWindow.xib */,
+ DC8F28A813579EFF005B8862 /* ReaderSampleViewController.h */,
+ DC8F28A913579EFF005B8862 /* ReaderSampleViewController.m */,
+ DC8F28AB13579EFF005B8862 /* ReaderSampleViewController.xib */,
+ DC8F289A13579EFF005B8862 /* Supporting Files */,
+ );
+ path = ReaderSample;
+ sourceTree = "<group>";
+ };
+ DC8F289A13579EFF005B8862 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F289B13579EFF005B8862 /* ReaderSample-Info.plist */,
+ DC8F289C13579EFF005B8862 /* InfoPlist.strings */,
+ DC8245F4162B549F0010B2E6 /* Default-568h@2x.png */,
+ DC8F289F13579EFF005B8862 /* ReaderSample-Prefix.pch */,
+ DC8F28A013579EFF005B8862 /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ DC8F28B31357A29D005B8862 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28B41357A29D005B8862 /* Headers */,
+ DC8F28CA1357A29D005B8862 /* libzbar.a */,
+ DC8F28CB1357A29D005B8862 /* Resources */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC8F28B41357A29D005B8862 /* Headers */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28B51357A29D005B8862 /* ZBarSDK */,
+ );
+ path = Headers;
+ sourceTree = "<group>";
+ };
+ DC8F28B51357A29D005B8862 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28B61357A29D005B8862 /* zbar */,
+ DC8F28C01357A29D005B8862 /* zbar.h */,
+ DC8F28C11357A29D005B8862 /* ZBarCaptureReader.h */,
+ DC8F28C21357A29D005B8862 /* ZBarHelpController.h */,
+ DC8F28C31357A29D005B8862 /* ZBarImage.h */,
+ DC8F28C41357A29D005B8862 /* ZBarImageScanner.h */,
+ DC8F28C51357A29D005B8862 /* ZBarReaderController.h */,
+ DC8F28C61357A29D005B8862 /* ZBarReaderView.h */,
+ DC8F28C71357A29D005B8862 /* ZBarReaderViewController.h */,
+ DC8F28C81357A29D005B8862 /* ZBarSDK.h */,
+ DC8F28C91357A29D005B8862 /* ZBarSymbol.h */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC8F28B61357A29D005B8862 /* zbar */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28B71357A29D005B8862 /* Decoder.h */,
+ DC8F28B81357A29D005B8862 /* Exception.h */,
+ DC8F28B91357A29D005B8862 /* Image.h */,
+ DC8F28BA1357A29D005B8862 /* ImageScanner.h */,
+ DC8F28BB1357A29D005B8862 /* Processor.h */,
+ DC8F28BC1357A29D005B8862 /* Scanner.h */,
+ DC8F28BD1357A29D005B8862 /* Symbol.h */,
+ DC8F28BE1357A29D005B8862 /* Video.h */,
+ DC8F28BF1357A29D005B8862 /* Window.h */,
+ );
+ path = zbar;
+ sourceTree = "<group>";
+ };
+ DC8F28CB1357A29D005B8862 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ DC8F28CC1357A29D005B8862 /* zbar-back.png */,
+ DC8F28CD1357A29D005B8862 /* zbar-help.html */,
+ DC8F28CE1357A29D005B8862 /* zbar-helpicons.png */,
+ DC8F28CF1357A29D005B8862 /* zbar-samples.png */,
+ );
+ path = Resources;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ DC8F288E13579EFF005B8862 /* ReaderSample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DC8F28B013579F00005B8862 /* Build configuration list for PBXNativeTarget "ReaderSample" */;
+ buildPhases = (
+ DC8F288B13579EFF005B8862 /* Sources */,
+ DC8F288C13579EFF005B8862 /* Frameworks */,
+ DC8F288D13579EFF005B8862 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = ReaderSample;
+ productName = ReaderSample;
+ productReference = DC8F288F13579EFF005B8862 /* ReaderSample.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ DC8F288613579EFF005B8862 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ ORGANIZATIONNAME = "ZBar Consulting Services";
+ };
+ buildConfigurationList = DC8F288913579EFF005B8862 /* Build configuration list for PBXProject "ReaderSample" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = DC8F288413579EFF005B8862;
+ productRefGroup = DC8F289013579EFF005B8862 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ DC8F288E13579EFF005B8862 /* ReaderSample */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ DC8F288D13579EFF005B8862 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC8F289E13579EFF005B8862 /* InfoPlist.strings in Resources */,
+ DC8F28A713579EFF005B8862 /* MainWindow.xib in Resources */,
+ DC8F28AD13579F00005B8862 /* ReaderSampleViewController.xib in Resources */,
+ DC8F28D11357A29D005B8862 /* zbar-back.png in Resources */,
+ DC8F28D21357A29D005B8862 /* zbar-help.html in Resources */,
+ DC8F28D31357A29D005B8862 /* zbar-helpicons.png in Resources */,
+ DC8F28D41357A29D005B8862 /* zbar-samples.png in Resources */,
+ DC8245F5162B549F0010B2E6 /* Default-568h@2x.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ DC8F288B13579EFF005B8862 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC8F28A113579EFF005B8862 /* main.m in Sources */,
+ DC8F28A413579EFF005B8862 /* ReaderSampleAppDelegate.m in Sources */,
+ DC8F28AA13579EFF005B8862 /* ReaderSampleViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ DC8F289C13579EFF005B8862 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC8F289D13579EFF005B8862 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ DC8F28A513579EFF005B8862 /* MainWindow.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC8F28A613579EFF005B8862 /* en */,
+ );
+ name = MainWindow.xib;
+ sourceTree = "<group>";
+ };
+ DC8F28AB13579EFF005B8862 /* ReaderSampleViewController.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC8F28AC13579F00005B8862 /* en */,
+ );
+ name = ReaderSampleViewController.xib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ DC8F28AE13579F00005B8862 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ DC8F28AF13579F00005B8862 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ DC8F28B113579F00005B8862 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "ReaderSample/ReaderSample-Prefix.pch";
+ INFOPLIST_FILE = "ReaderSample/ReaderSample-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ DC8F28B213579F00005B8862 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "ReaderSample/ReaderSample-Prefix.pch";
+ INFOPLIST_FILE = "ReaderSample/ReaderSample-Info.plist";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ DC8F288913579EFF005B8862 /* Build configuration list for PBXProject "ReaderSample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DC8F28AE13579F00005B8862 /* Debug */,
+ DC8F28AF13579F00005B8862 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DC8F28B013579F00005B8862 /* Build configuration list for PBXNativeTarget "ReaderSample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DC8F28B113579F00005B8862 /* Debug */,
+ DC8F28B213579F00005B8862 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = DC8F288613579EFF005B8862 /* Project object */;
+}
diff --git a/iphone/examples/ReaderSample/ReaderSample.xcodeproj/xcshareddata/xcschemes/ReaderSample.xcscheme b/iphone/examples/ReaderSample/ReaderSample.xcodeproj/xcshareddata/xcschemes/ReaderSample.xcscheme
new file mode 100644
index 0000000..12fb1da
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample.xcodeproj/xcshareddata/xcschemes/ReaderSample.xcscheme
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC8F288E13579EFF005B8862"
+ BuildableName = "ReaderSample.app"
+ BlueprintName = "ReaderSample"
+ ReferencedContainer = "container:ReaderSample.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC8F288E13579EFF005B8862"
+ BuildableName = "ReaderSample.app"
+ BlueprintName = "ReaderSample"
+ ReferencedContainer = "container:ReaderSample.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC8F288E13579EFF005B8862"
+ BuildableName = "ReaderSample.app"
+ BlueprintName = "ReaderSample"
+ ReferencedContainer = "container:ReaderSample.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Info.plist b/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Info.plist
new file mode 100644
index 0000000..4ceba32
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Info.plist
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string>MainWindow</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Prefix.pch b/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Prefix.pch
new file mode 100644
index 0000000..2b3e510
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSample-Prefix.pch
@@ -0,0 +1,16 @@
+//
+// Prefix header for all source files of the 'ReaderSample' target in the 'ReaderSample' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+ // ADD: import barcode reader APIs
+ #import "ZBarSDK.h"
+#endif
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.h b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.h
new file mode 100644
index 0000000..9666cd2
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.h
@@ -0,0 +1,20 @@
+//
+// ReaderSampleAppDelegate.h
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@class ReaderSampleViewController;
+
+@interface ReaderSampleAppDelegate : NSObject <UIApplicationDelegate> {
+}
+
+@property (nonatomic, retain) IBOutlet UIWindow *window;
+
+@property (nonatomic, retain)
+ IBOutlet ReaderSampleViewController *viewController;
+
+@end
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.m b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.m
new file mode 100644
index 0000000..c5c2d29
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleAppDelegate.m
@@ -0,0 +1,67 @@
+//
+// ReaderSampleAppDelegate.m
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import "ReaderSampleAppDelegate.h"
+
+#import "ReaderSampleViewController.h"
+
+@implementation ReaderSampleAppDelegate
+
+
+@synthesize window=_window;
+
+@synthesize viewController=_viewController;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+
+ self.window.rootViewController = self.viewController;
+ [self.window makeKeyAndVisible];
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+ /*
+ Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ */
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+ /*
+ Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+ */
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+ /*
+ Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+ */
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+ /*
+ Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+ */
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+ /*
+ Called when the application is about to terminate.
+ Save data if appropriate.
+ See also applicationDidEnterBackground:.
+ */
+}
+
+@end
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.h b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.h
new file mode 100644
index 0000000..54abd91
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.h
@@ -0,0 +1,19 @@
+//
+// ReaderSampleViewController.h
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ReaderSampleViewController : UIViewController
+ // ADD: delegate protocol
+ <ZBarReaderDelegate> {
+ UIImageView *resultImage;
+ UITextView *resultText;
+}
+@property (nonatomic, retain) IBOutlet UIImageView *resultImage;
+@property (nonatomic, retain) IBOutlet UITextView *resultText;
+- (IBAction)scanButtonTapped;
+@end
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m
new file mode 100644
index 0000000..67ddd6d
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m
@@ -0,0 +1,68 @@
+//
+// ReaderSampleViewController.m
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import "ReaderSampleViewController.h"
+
+@implementation ReaderSampleViewController
+
+@synthesize resultImage, resultText;
+
+- (IBAction) scanButtonTapped
+{
+ // ADD: present a barcode reader that scans from the camera feed
+ ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init];
+ reader.readerDelegate = self;
+ reader.supportedOrientationsMask = ZBarOrientationMaskAll;
+
+ ZBarImageScanner *scanner = reader.scanner;
+ // TODO: (optional) additional reader configuration here
+
+ // EXAMPLE: disable rarely used I2/5 to improve performance
+ [scanner setSymbology: ZBAR_I25
+ config: ZBAR_CFG_ENABLE
+ to: 0];
+
+ // present and release the controller
+ [self presentModalViewController: reader
+ animated: YES];
+ [reader release];
+}
+
+- (void) imagePickerController: (UIImagePickerController*) reader
+ didFinishPickingMediaWithInfo: (NSDictionary*) info
+{
+ // ADD: get the decode results
+ id<NSFastEnumeration> results =
+ [info objectForKey: ZBarReaderControllerResults];
+ ZBarSymbol *symbol = nil;
+ for(symbol in results)
+ // EXAMPLE: just grab the first barcode
+ break;
+
+ // EXAMPLE: do something useful with the barcode data
+ resultText.text = symbol.data;
+
+ // EXAMPLE: do something useful with the barcode image
+ resultImage.image =
+ [info objectForKey: UIImagePickerControllerOriginalImage];
+
+ // ADD: dismiss the controller (NB dismiss from the *reader*!)
+ [reader dismissModalViewControllerAnimated: YES];
+}
+
+- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+{
+ return(YES);
+}
+
+- (void) dealloc {
+ self.resultImage = nil;
+ self.resultText = nil;
+ [super dealloc];
+}
+
+@end
diff --git a/iphone/examples/ReaderSample/ReaderSample/en.lproj/InfoPlist.strings b/iphone/examples/ReaderSample/ReaderSample/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/iphone/examples/ReaderSample/ReaderSample/en.lproj/MainWindow.xib b/iphone/examples/ReaderSample/ReaderSample/en.lproj/MainWindow.xib
new file mode 100644
index 0000000..3b45763
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/en.lproj/MainWindow.xib
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10D571</string>
+ <string key="IBDocument.InterfaceBuilderVersion">786</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">112</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="10"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="427554174">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIViewController" id="943309135">
+ <string key="IBUINibName">ReaderSampleViewController</string>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ <object class="IBUIWindow" id="117978783">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrameSize">{320, 480}</string>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">viewController</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="943309135"/>
+ </object>
+ <int key="connectionID">11</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="117978783"/>
+ </object>
+ <int key="connectionID">14</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="664661524"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">ReaderSample App Delegate</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="427554174"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="943309135"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">12</int>
+ <reference key="object" ref="117978783"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>10.CustomClassName</string>
+ <string>10.IBEditorWindowLastContentRect</string>
+ <string>10.IBPluginDependency</string>
+ <string>12.IBEditorWindowLastContentRect</string>
+ <string>12.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <string>ReaderSampleViewController</string>
+ <string>{{234, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{525, 346}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>ReaderSampleAppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">15</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">ReaderSampleAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>viewController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ReaderSampleViewController</string>
+ <string>UIWindow</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>viewController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">viewController</string>
+ <string key="candidateClassName">ReaderSampleViewController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">ReaderSampleAppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">ReaderSampleAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">ReaderSampleViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">ReaderSampleViewController.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="356479594">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIApplication</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="356479594"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchDisplayController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">ReaderSample.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">112</string>
+ </data>
+</archive>
diff --git a/iphone/examples/ReaderSample/ReaderSample/en.lproj/ReaderSampleViewController.xib b/iphone/examples/ReaderSample/ReaderSample/en.lproj/ReaderSampleViewController.xib
new file mode 100644
index 0000000..16d9167
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/en.lproj/ReaderSampleViewController.xib
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1056</int>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">301</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBUITextView</string>
+ <string>IBUIButton</string>
+ <string>IBUIImageView</string>
+ <string>IBUIView</string>
+ <string>IBProxyObject</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="843779117">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="774585933">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIButton" id="973537804">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">282</int>
+ <string key="NSFrame">{{20, 396}, {280, 44}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica-Bold</string>
+ <double key="NSSize">19</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">Scan</string>
+ <object class="NSColor" key="IBUIHighlightedTitleColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleShadowColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ </object>
+ <object class="IBUIImageView" id="409141881">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">311</int>
+ <string key="NSFrame">{{20, 20}, {280, 210}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="790976943"/>
+ <int key="IBUIContentMode">1</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUITextView" id="790976943">
+ <reference key="NSNextResponder" ref="774585933"/>
+ <int key="NSvFlags">282</int>
+ <string key="NSFrame">{{20, 238}, {280, 150}}</string>
+ <reference key="NSSuperview" ref="774585933"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="973537804"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwAA</bytes>
+ </object>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIEditable">NO</bool>
+ <string key="IBUIText">No barcode scanned...</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <int key="IBUIAutocapitalizationType">2</int>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="409141881"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC43NQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="774585933"/>
+ </object>
+ <int key="connectionID">7</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">resultImage</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="409141881"/>
+ </object>
+ <int key="connectionID">11</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">resultText</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="790976943"/>
+ </object>
+ <int key="connectionID">12</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">scanButtonTapped</string>
+ <reference key="source" ref="973537804"/>
+ <reference key="destination" ref="372490531"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">13</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="843779117"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="774585933"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="973537804"/>
+ <reference ref="409141881"/>
+ <reference ref="790976943"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="973537804"/>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="409141881"/>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">10</int>
+ <reference key="object" ref="790976943"/>
+ <reference key="parent" ref="774585933"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>10.IBPluginDependency</string>
+ <string>6.IBEditorWindowLastContentRect</string>
+ <string>6.IBPluginDependency</string>
+ <string>8.IBPluginDependency</string>
+ <string>9.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ReaderSampleViewController</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{239, 654}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">13</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">ReaderSampleViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">scanButtonTapped</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">scanButtonTapped</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">scanButtonTapped</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIImageView</string>
+ <string>UITextView</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultImage</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultText</string>
+ <string key="candidateClassName">UITextView</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/ReaderSampleViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">301</string>
+ </data>
+</archive>
diff --git a/iphone/examples/ReaderSample/ReaderSample/main.m b/iphone/examples/ReaderSample/ReaderSample/main.m
new file mode 100644
index 0000000..4a373e4
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/main.m
@@ -0,0 +1,16 @@
+//
+// main.m
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[])
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ int retVal = UIApplicationMain(argc, argv, nil, nil);
+ [pool release];
+ return retVal;
+}
diff --git a/iphone/examples/ReaderSample/ZBarSDK b/iphone/examples/ReaderSample/ZBarSDK
new file mode 100644
index 0000000..7a373ea
--- /dev/null
+++ b/iphone/examples/ReaderSample/ZBarSDK
@@ -0,0 +1 @@
+../../build/Debug-iphoneos/ZBarSDK \ No newline at end of file
diff --git a/iphone/examples/ReaderSample/build b/iphone/examples/ReaderSample/build
new file mode 100644
index 0000000..1e5c306
--- /dev/null
+++ b/iphone/examples/ReaderSample/build
@@ -0,0 +1 @@
+/tmp/ReaderSample.build \ No newline at end of file
diff --git a/iphone/examples/TabReader/TabReader.xcodeproj/project.pbxproj b/iphone/examples/TabReader/TabReader.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5c5bb27
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader.xcodeproj/project.pbxproj
@@ -0,0 +1,420 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ DC52DED31370F5340048DADA /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC52DECE1370F5340048DADA /* AVFoundation.framework */; };
+ DC52DED41370F5340048DADA /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC52DECF1370F5340048DADA /* CoreMedia.framework */; };
+ DC52DED51370F5340048DADA /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC52DED01370F5340048DADA /* CoreVideo.framework */; };
+ DC52DED61370F5340048DADA /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DC52DED11370F5340048DADA /* libiconv.dylib */; };
+ DC52DED71370F5340048DADA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC52DED21370F5340048DADA /* QuartzCore.framework */; };
+ DC5D76D71370EE8F0069AEF5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5D76D61370EE8F0069AEF5 /* UIKit.framework */; };
+ DC5D76D91370EE8F0069AEF5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5D76D81370EE8F0069AEF5 /* Foundation.framework */; };
+ DC5D76DB1370EE8F0069AEF5 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5D76DA1370EE8F0069AEF5 /* CoreGraphics.framework */; };
+ DC5D76E11370EE8F0069AEF5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC5D76DF1370EE8F0069AEF5 /* InfoPlist.strings */; };
+ DC5D76E41370EE8F0069AEF5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5D76E31370EE8F0069AEF5 /* main.m */; };
+ DC5D76E71370EE8F0069AEF5 /* TabReaderAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5D76E61370EE8F0069AEF5 /* TabReaderAppDelegate.m */; };
+ DC5D76EA1370EE8F0069AEF5 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC5D76E81370EE8F0069AEF5 /* MainWindow.xib */; };
+ DC5D76F01370EE8F0069AEF5 /* ResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5D76EF1370EE8F0069AEF5 /* ResultsViewController.m */; };
+ DC5D76F61370EE8F0069AEF5 /* ResultsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC5D76F41370EE8F0069AEF5 /* ResultsView.xib */; };
+ DC5D771A1370F0E30069AEF5 /* libzbar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5D77141370F0E30069AEF5 /* libzbar.a */; };
+ DC5D771B1370F0E30069AEF5 /* zbar-back.png in Resources */ = {isa = PBXBuildFile; fileRef = DC5D77161370F0E30069AEF5 /* zbar-back.png */; };
+ DC5D771C1370F0E30069AEF5 /* zbar-help.html in Resources */ = {isa = PBXBuildFile; fileRef = DC5D77171370F0E30069AEF5 /* zbar-help.html */; };
+ DC5D771D1370F0E30069AEF5 /* zbar-helpicons.png in Resources */ = {isa = PBXBuildFile; fileRef = DC5D77181370F0E30069AEF5 /* zbar-helpicons.png */; };
+ DC5D771E1370F0E30069AEF5 /* zbar-samples.png in Resources */ = {isa = PBXBuildFile; fileRef = DC5D77191370F0E30069AEF5 /* zbar-samples.png */; };
+ DC82460B162B5A1D0010B2E6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC82460A162B5A1D0010B2E6 /* Default-568h@2x.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ DC52DECE1370F5340048DADA /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ DC52DECF1370F5340048DADA /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
+ DC52DED01370F5340048DADA /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
+ DC52DED11370F5340048DADA /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
+ DC52DED21370F5340048DADA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ DC5D76D21370EE8F0069AEF5 /* TabReader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TabReader.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ DC5D76D61370EE8F0069AEF5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ DC5D76D81370EE8F0069AEF5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ DC5D76DA1370EE8F0069AEF5 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ DC5D76DE1370EE8F0069AEF5 /* TabReader-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TabReader-Info.plist"; sourceTree = "<group>"; };
+ DC5D76E01370EE8F0069AEF5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ DC5D76E21370EE8F0069AEF5 /* TabReader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TabReader-Prefix.pch"; sourceTree = "<group>"; };
+ DC5D76E31370EE8F0069AEF5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ DC5D76E51370EE8F0069AEF5 /* TabReaderAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TabReaderAppDelegate.h; sourceTree = "<group>"; };
+ DC5D76E61370EE8F0069AEF5 /* TabReaderAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TabReaderAppDelegate.m; sourceTree = "<group>"; };
+ DC5D76E91370EE8F0069AEF5 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
+ DC5D76EE1370EE8F0069AEF5 /* ResultsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ResultsViewController.h; sourceTree = "<group>"; };
+ DC5D76EF1370EE8F0069AEF5 /* ResultsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ResultsViewController.m; sourceTree = "<group>"; };
+ DC5D76F51370EE8F0069AEF5 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ResultsView.xib; sourceTree = "<group>"; };
+ DC5D77001370F0E30069AEF5 /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = "<group>"; };
+ DC5D77011370F0E30069AEF5 /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = "<group>"; };
+ DC5D77021370F0E30069AEF5 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = "<group>"; };
+ DC5D77031370F0E30069AEF5 /* ImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageScanner.h; sourceTree = "<group>"; };
+ DC5D77041370F0E30069AEF5 /* Processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Processor.h; sourceTree = "<group>"; };
+ DC5D77051370F0E30069AEF5 /* Scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scanner.h; sourceTree = "<group>"; };
+ DC5D77061370F0E30069AEF5 /* Symbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Symbol.h; sourceTree = "<group>"; };
+ DC5D77071370F0E30069AEF5 /* Video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Video.h; sourceTree = "<group>"; };
+ DC5D77081370F0E30069AEF5 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = "<group>"; };
+ DC5D77091370F0E30069AEF5 /* zbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zbar.h; sourceTree = "<group>"; };
+ DC5D770A1370F0E30069AEF5 /* ZBarCameraSimulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarCameraSimulator.h; sourceTree = "<group>"; };
+ DC5D770B1370F0E30069AEF5 /* ZBarCaptureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarCaptureReader.h; sourceTree = "<group>"; };
+ DC5D770C1370F0E30069AEF5 /* ZBarHelpController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarHelpController.h; sourceTree = "<group>"; };
+ DC5D770D1370F0E30069AEF5 /* ZBarImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImage.h; sourceTree = "<group>"; };
+ DC5D770E1370F0E30069AEF5 /* ZBarImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImageScanner.h; sourceTree = "<group>"; };
+ DC5D770F1370F0E30069AEF5 /* ZBarReaderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderController.h; sourceTree = "<group>"; };
+ DC5D77101370F0E30069AEF5 /* ZBarReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderView.h; sourceTree = "<group>"; };
+ DC5D77111370F0E30069AEF5 /* ZBarReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderViewController.h; sourceTree = "<group>"; };
+ DC5D77121370F0E30069AEF5 /* ZBarSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSDK.h; sourceTree = "<group>"; };
+ DC5D77131370F0E30069AEF5 /* ZBarSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSymbol.h; sourceTree = "<group>"; };
+ DC5D77141370F0E30069AEF5 /* libzbar.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libzbar.a; sourceTree = "<group>"; };
+ DC5D77161370F0E30069AEF5 /* zbar-back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-back.png"; sourceTree = "<group>"; };
+ DC5D77171370F0E30069AEF5 /* zbar-help.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "zbar-help.html"; sourceTree = "<group>"; };
+ DC5D77181370F0E30069AEF5 /* zbar-helpicons.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-helpicons.png"; sourceTree = "<group>"; };
+ DC5D77191370F0E30069AEF5 /* zbar-samples.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-samples.png"; sourceTree = "<group>"; };
+ DC82460A162B5A1D0010B2E6 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ DC5D76CF1370EE8F0069AEF5 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC52DED31370F5340048DADA /* AVFoundation.framework in Frameworks */,
+ DC52DED41370F5340048DADA /* CoreMedia.framework in Frameworks */,
+ DC52DED51370F5340048DADA /* CoreVideo.framework in Frameworks */,
+ DC52DED61370F5340048DADA /* libiconv.dylib in Frameworks */,
+ DC52DED71370F5340048DADA /* QuartzCore.framework in Frameworks */,
+ DC5D76D71370EE8F0069AEF5 /* UIKit.framework in Frameworks */,
+ DC5D76D91370EE8F0069AEF5 /* Foundation.framework in Frameworks */,
+ DC5D76DB1370EE8F0069AEF5 /* CoreGraphics.framework in Frameworks */,
+ DC5D771A1370F0E30069AEF5 /* libzbar.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ DC5D76C71370EE8D0069AEF5 = {
+ isa = PBXGroup;
+ children = (
+ DC5D76DC1370EE8F0069AEF5 /* TabReader */,
+ DC5D76FC1370F0E30069AEF5 /* ZBarSDK */,
+ DC5D76D51370EE8F0069AEF5 /* Frameworks */,
+ DC5D76D31370EE8F0069AEF5 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ DC5D76D31370EE8F0069AEF5 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76D21370EE8F0069AEF5 /* TabReader.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ DC5D76D51370EE8F0069AEF5 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76D61370EE8F0069AEF5 /* UIKit.framework */,
+ DC5D76D81370EE8F0069AEF5 /* Foundation.framework */,
+ DC5D76DA1370EE8F0069AEF5 /* CoreGraphics.framework */,
+ DC52DECE1370F5340048DADA /* AVFoundation.framework */,
+ DC52DECF1370F5340048DADA /* CoreMedia.framework */,
+ DC52DED01370F5340048DADA /* CoreVideo.framework */,
+ DC52DED11370F5340048DADA /* libiconv.dylib */,
+ DC52DED21370F5340048DADA /* QuartzCore.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ DC5D76DC1370EE8F0069AEF5 /* TabReader */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76E51370EE8F0069AEF5 /* TabReaderAppDelegate.h */,
+ DC5D76E61370EE8F0069AEF5 /* TabReaderAppDelegate.m */,
+ DC5D76E81370EE8F0069AEF5 /* MainWindow.xib */,
+ DC5D76EE1370EE8F0069AEF5 /* ResultsViewController.h */,
+ DC5D76EF1370EE8F0069AEF5 /* ResultsViewController.m */,
+ DC5D76F41370EE8F0069AEF5 /* ResultsView.xib */,
+ DC5D76DD1370EE8F0069AEF5 /* Supporting Files */,
+ );
+ path = TabReader;
+ sourceTree = "<group>";
+ };
+ DC5D76DD1370EE8F0069AEF5 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76DE1370EE8F0069AEF5 /* TabReader-Info.plist */,
+ DC5D76DF1370EE8F0069AEF5 /* InfoPlist.strings */,
+ DC82460A162B5A1D0010B2E6 /* Default-568h@2x.png */,
+ DC5D76E21370EE8F0069AEF5 /* TabReader-Prefix.pch */,
+ DC5D76E31370EE8F0069AEF5 /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ DC5D76FC1370F0E30069AEF5 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76FD1370F0E30069AEF5 /* Headers */,
+ DC5D77141370F0E30069AEF5 /* libzbar.a */,
+ DC5D77151370F0E30069AEF5 /* Resources */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC5D76FD1370F0E30069AEF5 /* Headers */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76FE1370F0E30069AEF5 /* ZBarSDK */,
+ );
+ path = Headers;
+ sourceTree = "<group>";
+ };
+ DC5D76FE1370F0E30069AEF5 /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D76FF1370F0E30069AEF5 /* zbar */,
+ DC5D77091370F0E30069AEF5 /* zbar.h */,
+ DC5D770A1370F0E30069AEF5 /* ZBarCameraSimulator.h */,
+ DC5D770B1370F0E30069AEF5 /* ZBarCaptureReader.h */,
+ DC5D770C1370F0E30069AEF5 /* ZBarHelpController.h */,
+ DC5D770D1370F0E30069AEF5 /* ZBarImage.h */,
+ DC5D770E1370F0E30069AEF5 /* ZBarImageScanner.h */,
+ DC5D770F1370F0E30069AEF5 /* ZBarReaderController.h */,
+ DC5D77101370F0E30069AEF5 /* ZBarReaderView.h */,
+ DC5D77111370F0E30069AEF5 /* ZBarReaderViewController.h */,
+ DC5D77121370F0E30069AEF5 /* ZBarSDK.h */,
+ DC5D77131370F0E30069AEF5 /* ZBarSymbol.h */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC5D76FF1370F0E30069AEF5 /* zbar */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D77001370F0E30069AEF5 /* Decoder.h */,
+ DC5D77011370F0E30069AEF5 /* Exception.h */,
+ DC5D77021370F0E30069AEF5 /* Image.h */,
+ DC5D77031370F0E30069AEF5 /* ImageScanner.h */,
+ DC5D77041370F0E30069AEF5 /* Processor.h */,
+ DC5D77051370F0E30069AEF5 /* Scanner.h */,
+ DC5D77061370F0E30069AEF5 /* Symbol.h */,
+ DC5D77071370F0E30069AEF5 /* Video.h */,
+ DC5D77081370F0E30069AEF5 /* Window.h */,
+ );
+ path = zbar;
+ sourceTree = "<group>";
+ };
+ DC5D77151370F0E30069AEF5 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ DC5D77161370F0E30069AEF5 /* zbar-back.png */,
+ DC5D77171370F0E30069AEF5 /* zbar-help.html */,
+ DC5D77181370F0E30069AEF5 /* zbar-helpicons.png */,
+ DC5D77191370F0E30069AEF5 /* zbar-samples.png */,
+ );
+ path = Resources;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ DC5D76D11370EE8F0069AEF5 /* TabReader */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = DC5D76F91370EE900069AEF5 /* Build configuration list for PBXNativeTarget "TabReader" */;
+ buildPhases = (
+ DC5D76CE1370EE8F0069AEF5 /* Sources */,
+ DC5D76CF1370EE8F0069AEF5 /* Frameworks */,
+ DC5D76D01370EE8F0069AEF5 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = TabReader;
+ productName = TabReader;
+ productReference = DC5D76D21370EE8F0069AEF5 /* TabReader.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ DC5D76C91370EE8D0069AEF5 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = DC5D76CC1370EE8D0069AEF5 /* Build configuration list for PBXProject "TabReader" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = DC5D76C71370EE8D0069AEF5;
+ productRefGroup = DC5D76D31370EE8F0069AEF5 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ DC5D76D11370EE8F0069AEF5 /* TabReader */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ DC5D76D01370EE8F0069AEF5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC5D76E11370EE8F0069AEF5 /* InfoPlist.strings in Resources */,
+ DC5D76EA1370EE8F0069AEF5 /* MainWindow.xib in Resources */,
+ DC5D76F61370EE8F0069AEF5 /* ResultsView.xib in Resources */,
+ DC5D771B1370F0E30069AEF5 /* zbar-back.png in Resources */,
+ DC5D771C1370F0E30069AEF5 /* zbar-help.html in Resources */,
+ DC5D771D1370F0E30069AEF5 /* zbar-helpicons.png in Resources */,
+ DC5D771E1370F0E30069AEF5 /* zbar-samples.png in Resources */,
+ DC82460B162B5A1D0010B2E6 /* Default-568h@2x.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ DC5D76CE1370EE8F0069AEF5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC5D76E41370EE8F0069AEF5 /* main.m in Sources */,
+ DC5D76E71370EE8F0069AEF5 /* TabReaderAppDelegate.m in Sources */,
+ DC5D76F01370EE8F0069AEF5 /* ResultsViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ DC5D76DF1370EE8F0069AEF5 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC5D76E01370EE8F0069AEF5 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ DC5D76E81370EE8F0069AEF5 /* MainWindow.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC5D76E91370EE8F0069AEF5 /* en */,
+ );
+ name = MainWindow.xib;
+ sourceTree = "<group>";
+ };
+ DC5D76F41370EE8F0069AEF5 /* ResultsView.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ DC5D76F51370EE8F0069AEF5 /* en */,
+ );
+ name = ResultsView.xib;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ DC5D76F71370EE900069AEF5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ DC5D76F81370EE900069AEF5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ DC5D76FA1370EE900069AEF5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "TabReader/TabReader-Prefix.pch";
+ INFOPLIST_FILE = "TabReader/TabReader-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ DC5D76FB1370EE900069AEF5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "TabReader/TabReader-Prefix.pch";
+ INFOPLIST_FILE = "TabReader/TabReader-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ DC5D76CC1370EE8D0069AEF5 /* Build configuration list for PBXProject "TabReader" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DC5D76F71370EE900069AEF5 /* Debug */,
+ DC5D76F81370EE900069AEF5 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ DC5D76F91370EE900069AEF5 /* Build configuration list for PBXNativeTarget "TabReader" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ DC5D76FA1370EE900069AEF5 /* Debug */,
+ DC5D76FB1370EE900069AEF5 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = DC5D76C91370EE8D0069AEF5 /* Project object */;
+}
diff --git a/iphone/examples/TabReader/TabReader.xcodeproj/xcshareddata/xcschemes/TabReader.xcscheme b/iphone/examples/TabReader/TabReader.xcodeproj/xcshareddata/xcschemes/TabReader.xcscheme
new file mode 100644
index 0000000..ae63da8
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader.xcodeproj/xcshareddata/xcschemes/TabReader.xcscheme
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.8">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC5D76D11370EE8F0069AEF5"
+ BuildableName = "TabReader.app"
+ BlueprintName = "TabReader"
+ ReferencedContainer = "container:TabReader.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC5D76D11370EE8F0069AEF5"
+ BuildableName = "TabReader.app"
+ BlueprintName = "TabReader"
+ ReferencedContainer = "container:TabReader.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "DC5D76D11370EE8F0069AEF5"
+ BuildableName = "TabReader.app"
+ BlueprintName = "TabReader"
+ ReferencedContainer = "container:TabReader.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/iphone/examples/TabReader/TabReader/ResultsViewController.h b/iphone/examples/TabReader/TabReader/ResultsViewController.h
new file mode 100644
index 0000000..c7b3115
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/ResultsViewController.h
@@ -0,0 +1,16 @@
+//
+// SecondViewController.h
+// TabReader
+//
+// Created by spadix on 5/3/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ResultsViewController : UIViewController {
+}
+
+@property (nonatomic, retain) IBOutlet UIImageView *resultImage;
+@property (nonatomic, retain) IBOutlet UITextView *resultText;
+
+@end
diff --git a/iphone/examples/TabReader/TabReader/ResultsViewController.m b/iphone/examples/TabReader/TabReader/ResultsViewController.m
new file mode 100644
index 0000000..e1ee41f
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/ResultsViewController.m
@@ -0,0 +1,20 @@
+//
+// SecondViewController.m
+// TabReader
+//
+// Created by spadix on 5/3/11.
+//
+
+#import "ResultsViewController.h"
+
+
+@implementation ResultsViewController
+
+@synthesize resultImage, resultText;
+
+- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+{
+ return(YES);
+}
+
+@end
diff --git a/iphone/examples/TabReader/TabReader/TabReader-Info.plist b/iphone/examples/TabReader/TabReader/TabReader-Info.plist
new file mode 100644
index 0000000..1e72cf2
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/TabReader-Info.plist
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>net.sourceforge.zbar.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string>MainWindow</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/iphone/examples/TabReader/TabReader/TabReader-Prefix.pch b/iphone/examples/TabReader/TabReader/TabReader-Prefix.pch
new file mode 100644
index 0000000..701a5b1
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/TabReader-Prefix.pch
@@ -0,0 +1,15 @@
+//
+// Prefix header for all source files of the 'TabReader' target in the 'TabReader' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+# import <UIKit/UIKit.h>
+# import <Foundation/Foundation.h>
+# import "ZBarSDK.h"
+#endif
diff --git a/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.h b/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.h
new file mode 100644
index 0000000..fa43cc3
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.h
@@ -0,0 +1,18 @@
+//
+// TabReaderAppDelegate.h
+// TabReader
+//
+// Created by spadix on 5/3/11.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface TabReaderAppDelegate
+ : NSObject <UIApplicationDelegate, UITabBarControllerDelegate,
+ ZBarReaderDelegate> {
+}
+
+@property (nonatomic, retain) IBOutlet UIWindow *window;
+@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
+
+@end
diff --git a/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.m b/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.m
new file mode 100644
index 0000000..0168f4e
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/TabReaderAppDelegate.m
@@ -0,0 +1,62 @@
+//
+// TabReaderAppDelegate.m
+// TabReader
+//
+// Created by spadix on 5/3/11.
+//
+
+#import "TabReaderAppDelegate.h"
+#import "ResultsViewController.h"
+
+@implementation TabReaderAppDelegate
+
+@synthesize window=_window;
+@synthesize tabBarController=_tabBarController;
+
+- (BOOL) application: (UIApplication*) application
+ didFinishLaunchingWithOptions: (NSDictionary*) options
+{
+ // force class to load so it may be referenced directly from nib
+ [ZBarReaderViewController class];
+
+ ZBarReaderViewController *reader =
+ [self.tabBarController.viewControllers objectAtIndex: 0];
+ reader.readerDelegate = self;
+ reader.showsZBarControls = NO;
+ reader.supportedOrientationsMask = ZBarOrientationMaskAll;
+
+ self.window.rootViewController = self.tabBarController;
+ [self.window makeKeyAndVisible];
+
+ return(YES);
+}
+
+- (void) dealloc
+{
+ [_window release];
+ [_tabBarController release];
+ [super dealloc];
+}
+
+
+// ZBarReaderDelegate
+
+- (void) imagePickerController: (UIImagePickerController*) picker
+ didFinishPickingMediaWithInfo: (NSDictionary*) info
+{
+ // do something useful with results
+ UITabBarController *tabs = self.tabBarController;
+ tabs.selectedIndex = 1;
+ ResultsViewController *results = [tabs.viewControllers objectAtIndex: 1];
+ UIImage *image = [info objectForKey: UIImagePickerControllerOriginalImage];
+ results.resultImage.image = image;
+
+ id <NSFastEnumeration> syms =
+ [info objectForKey: ZBarReaderControllerResults];
+ for(ZBarSymbol *sym in syms) {
+ results.resultText.text = sym.data;
+ break;
+ }
+}
+
+@end
diff --git a/iphone/examples/TabReader/TabReader/en.lproj/InfoPlist.strings b/iphone/examples/TabReader/TabReader/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/iphone/examples/TabReader/TabReader/en.lproj/MainWindow.xib b/iphone/examples/TabReader/TabReader/en.lproj/MainWindow.xib
new file mode 100644
index 0000000..4875de8
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/en.lproj/MainWindow.xib
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">301</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBProxyObject</string>
+ <string>IBUITabBarItem</string>
+ <string>IBUIViewController</string>
+ <string>IBUICustomObject</string>
+ <string>IBUITabBarController</string>
+ <string>IBUIWindow</string>
+ <string>IBUITabBar</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="532797962">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIWindow" id="380026005">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 480}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ <object class="IBUITabBarController" id="1034742383">
+ <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="IBUIInterfaceOrientation">1</int>
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ <object class="IBUIViewController" key="IBUISelectedViewController" id="538989659">
+ <object class="IBUITabBarItem" key="IBUITabBarItem" id="896756232">
+ <string key="IBUITitle">Scan</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <reference key="IBUITabBar" ref="795333663"/>
+ </object>
+ <reference key="IBUIParentViewController" ref="1034742383"/>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="IBUIInterfaceOrientation">1</int>
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ <object class="NSMutableArray" key="IBUIViewControllers">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="538989659"/>
+ <object class="IBUIViewController" id="268481961">
+ <object class="IBUITabBarItem" key="IBUITabBarItem" id="807309489">
+ <string key="IBUITitle">Results</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <reference key="IBUITabBar" ref="795333663"/>
+ </object>
+ <reference key="IBUIParentViewController" ref="1034742383"/>
+ <string key="IBUINibName">ResultsView</string>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="IBUIInterfaceOrientation">1</int>
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ </object>
+ <object class="IBUITabBar" key="IBUITabBar" id="795333663">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{0, 431}, {320, 49}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwAA</bytes>
+ </object>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableArray" key="IBUIItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="896756232"/>
+ <reference ref="807309489"/>
+ </object>
+ <reference key="IBUISelectedItem" ref="896756232"/>
+ </object>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="380026005"/>
+ </object>
+ <int key="connectionID">9</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">99</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">tabBarController</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="1034742383"/>
+ </object>
+ <int key="connectionID">113</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="1034742383"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">127</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="380026005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="664661524"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">106</int>
+ <reference key="object" ref="1034742383"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="795333663"/>
+ <reference ref="538989659"/>
+ <reference ref="268481961"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">107</int>
+ <reference key="object" ref="795333663"/>
+ <reference key="parent" ref="1034742383"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="532797962"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">125</int>
+ <reference key="object" ref="538989659"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="896756232"/>
+ </object>
+ <reference key="parent" ref="1034742383"/>
+ <string key="objectName">Barcode Reader Controller</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">126</int>
+ <reference key="object" ref="896756232"/>
+ <reference key="parent" ref="538989659"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">109</int>
+ <reference key="object" ref="268481961"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="807309489"/>
+ </object>
+ <reference key="parent" ref="1034742383"/>
+ <string key="objectName">Barcode Results Controller</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">110</int>
+ <reference key="object" ref="807309489"/>
+ <reference key="parent" ref="268481961"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>106.IBEditorWindowLastContentRect</string>
+ <string>106.IBPluginDependency</string>
+ <string>107.IBPluginDependency</string>
+ <string>109.CustomClassName</string>
+ <string>109.IBPluginDependency</string>
+ <string>110.IBPluginDependency</string>
+ <string>125.CustomClassName</string>
+ <string>125.IBPluginDependency</string>
+ <string>126.IBPluginDependency</string>
+ <string>2.IBAttributePlaceholdersKey</string>
+ <string>2.IBEditorWindowLastContentRect</string>
+ <string>2.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <string>{{1323, 676}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>ResultsViewController</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>ZBarReaderViewController</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSMutableDictionary">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <string>{{229, 373}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>TabReaderAppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">127</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">ResultsViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIImageView</string>
+ <string>UITextView</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultImage</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultText</string>
+ <string key="candidateClassName">UITextView</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/ResultsViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">TabReaderAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>tabBarController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UITabBarController</string>
+ <string>UIWindow</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>tabBarController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tabBarController</string>
+ <string key="candidateClassName">UITabBarController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/TabReaderAppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">ZBarReaderViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/ZBarReaderViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">301</string>
+ </data>
+</archive>
diff --git a/iphone/examples/TabReader/TabReader/en.lproj/ResultsView.xib b/iphone/examples/TabReader/TabReader/en.lproj/ResultsView.xib
new file mode 100644
index 0000000..c9c77bc
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/en.lproj/ResultsView.xib
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10J869</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.35</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">301</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBUITextView</string>
+ <string>IBUIImageView</string>
+ <string>IBUIView</string>
+ <string>IBUILabel</string>
+ <string>IBProxyObject</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="263589821">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUILabel" id="483052203">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">306</int>
+ <string key="NSFrame">{{20, 20}, {280, 28}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="255779567"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Results Tab</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">24</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <int key="IBUITextAlignment">1</int>
+ </object>
+ <object class="IBUITextView" id="255779567">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">282</int>
+ <string key="NSFrame">{{20, 274}, {280, 117}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
+ <bool key="IBUIDelaysContentTouches">NO</bool>
+ <bool key="IBUICanCancelContentTouches">NO</bool>
+ <float key="IBUIMinimumZoomScale">0.0</float>
+ <float key="IBUIMaximumZoomScale">0.0</float>
+ <bool key="IBUIBouncesZoom">NO</bool>
+ <bool key="IBUIEditable">NO</bool>
+ <string key="IBUIText">No barcode scanned.</string>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBUIImageView" id="809997790">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">306</int>
+ <string key="NSFrame">{{20, 56}, {280, 210}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <int key="IBUIContentMode">1</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 20}, {320, 411}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="483052203"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">resultImage</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="809997790"/>
+ </object>
+ <int key="connectionID">9</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">resultText</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="255779567"/>
+ </object>
+ <int key="connectionID">10</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="255779567"/>
+ <reference ref="483052203"/>
+ <reference ref="809997790"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="263589821"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="483052203"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="255779567"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="809997790"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>5.IBPluginDependency</string>
+ <string>7.IBPluginDependency</string>
+ <string>7.IBViewBoundsToFrameTransform</string>
+ <string>8.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>ResultsViewController</string>
+ <string>UIResponder</string>
+ <string>{{187, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSAffineTransform">
+ <bytes key="NSTransformStruct">P4AAAL+AAABA4AAAw7GAAA</bytes>
+ </object>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">10</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">ResultsViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIImageView</string>
+ <string>UITextView</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>resultImage</string>
+ <string>resultText</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultImage</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">resultText</string>
+ <string key="candidateClassName">UITextView</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/ResultsViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">301</string>
+ </data>
+</archive>
diff --git a/iphone/examples/TabReader/TabReader/main.m b/iphone/examples/TabReader/TabReader/main.m
new file mode 100644
index 0000000..5505e3a
--- /dev/null
+++ b/iphone/examples/TabReader/TabReader/main.m
@@ -0,0 +1,16 @@
+//
+// main.m
+// TabReader
+//
+// Created by spadix on 5/3/11.
+//
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[])
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ int retVal = UIApplicationMain(argc, argv, nil, nil);
+ [pool release];
+ return retVal;
+}
diff --git a/iphone/examples/TabReader/ZBarSDK b/iphone/examples/TabReader/ZBarSDK
new file mode 100644
index 0000000..7a373ea
--- /dev/null
+++ b/iphone/examples/TabReader/ZBarSDK
@@ -0,0 +1 @@
+../../build/Debug-iphoneos/ZBarSDK \ No newline at end of file
diff --git a/iphone/examples/TabReader/build b/iphone/examples/TabReader/build
new file mode 100644
index 0000000..fc13333
--- /dev/null
+++ b/iphone/examples/TabReader/build
@@ -0,0 +1 @@
+/tmp/TabReader.build \ No newline at end of file
diff --git a/iphone/examples/readertest/ZBarSDK b/iphone/examples/readertest/ZBarSDK
new file mode 100644
index 0000000..7a373ea
--- /dev/null
+++ b/iphone/examples/readertest/ZBarSDK
@@ -0,0 +1 @@
+../../build/Debug-iphoneos/ZBarSDK \ No newline at end of file
diff --git a/iphone/examples/readertest/build b/iphone/examples/readertest/build
new file mode 100644
index 0000000..bd23a51
--- /dev/null
+++ b/iphone/examples/readertest/build
@@ -0,0 +1 @@
+/tmp/readertest.build \ No newline at end of file
diff --git a/iphone/examples/readertest/entitlements.plist b/iphone/examples/readertest/entitlements.plist
new file mode 100644
index 0000000..ce373e1
--- /dev/null
+++ b/iphone/examples/readertest/entitlements.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>get-task-allow</key>
+ <false/>
+</dict>
+</plist>
diff --git a/iphone/examples/readertest/prefix.pch b/iphone/examples/readertest/prefix.pch
new file mode 100644
index 0000000..9efda98
--- /dev/null
+++ b/iphone/examples/readertest/prefix.pch
@@ -0,0 +1,11 @@
+#ifdef __OBJC__
+# import <Foundation/Foundation.h>
+# import <CoreFoundation/CoreFoundation.h>
+# import <CoreGraphics/CoreGraphics.h>
+# import <UIKit/UIKit.h>
+# import <QuartzCore/QuartzCore.h>
+# import <AVFoundation/AVFoundation.h>
+# import <CoreMedia/CoreMedia.h>
+# import <CoreVideo/CoreVideo.h>
+# import "ZBarSDK.h"
+#endif
diff --git a/iphone/examples/readertest/readertest.m b/iphone/examples/readertest/readertest.m
new file mode 100644
index 0000000..21ffc28
--- /dev/null
+++ b/iphone/examples/readertest/readertest.m
@@ -0,0 +1,991 @@
+enum {
+ CLASS_SECTION = 0,
+ SOURCE_SECTION,
+ CAMODE_SECTION,
+ DEVICE_SECTION,
+ FLASH_SECTION,
+ QUALITY_SECTION,
+ CONFIG_SECTION,
+ CUSTOM_SECTION,
+ SYMBOL_SECTION,
+ RESULT_SECTION,
+ NUM_SECTIONS
+};
+
+static NSString* const section_titles[] = {
+ @"Classes",
+ @"SourceType",
+ @"CameraMode",
+ @"CaptureDevice",
+ @"CameraFlashMode",
+ @"VideoQuality",
+ @"Reader Configuration",
+ nil,
+ @"Enabled Symbologies",
+ @"Decode Results",
+};
+
+static const CGRect const crop_choices[] = {
+ { { 0, 0 }, { 1, 1 } },
+ { { .125, 0 }, { .75, 1 } },
+ { { 0, .3 }, { 1, .4 } },
+ { { 0, 0 }, { 0, 0 } }
+};
+
+static const NSInteger const density_choices[] = {
+ 3, 2, 1, 0, 4, -1
+};
+
+static const CGFloat const zoom_choices[] = {
+ 1, 10/9., 10/8., 8/6., 10/7., 9/6., 10/6., 7/4., 2, 0, -1
+};
+
+@interface AppDelegate
+ : UITableViewController
+ < UIApplicationDelegate,
+ UINavigationControllerDelegate,
+ UITableViewDelegate,
+ UITableViewDataSource,
+ UIActionSheetDelegate,
+ ZBarReaderDelegate >
+{
+ UIWindow *window;
+ UINavigationController *nav;
+
+ NSSet *defaultSymbologies;
+ CGFloat zoom;
+
+ NSMutableArray *sections, *symbolEnables;
+ NSInteger xDensity, yDensity;
+
+ BOOL found, paused, continuous;
+ NSInteger dataHeight;
+ UILabel *typeLabel, *dataLabel;
+ UIImageView *imageView;
+
+ ZBarReaderViewController *reader;
+ UIView *overlay;
+ UIBarButtonItem *manualBtn;
+ UILabel *typeOvl, *dataOvl;
+ NSArray *masks;
+}
+
+@end
+
+
+@implementation AppDelegate
+
+- (id) init
+{
+ return([super initWithStyle: UITableViewStyleGrouped]);
+}
+
+- (void) initReader: (NSString*) clsName
+{
+ [reader release];
+ Class cls = [[NSBundle mainBundle]
+ classNamed: clsName];
+ assert(cls);
+ reader = [cls new];
+ assert(reader);
+ reader.readerDelegate = self;
+ xDensity = yDensity = 3;
+
+#if 0
+ // apply defaults for demo
+ ZBarImageScanner *scanner = reader.scanner;
+ continuous = NO;
+ zoom = 1;
+ reader.showsZBarControls = NO;
+ reader.scanCrop = CGRectMake(0, .35, 1, .3);
+
+ [defaultSymbologies release];
+ defaultSymbologies =
+ [[NSSet alloc]
+ initWithObjects:
+ [NSNumber numberWithInteger: ZBAR_CODE128],
+ nil];
+ [scanner setSymbology: 0
+ config: ZBAR_CFG_ENABLE
+ to: 0];
+ for(NSNumber *sym in defaultSymbologies)
+ [scanner setSymbology: sym.integerValue
+ config: ZBAR_CFG_ENABLE
+ to: 1];
+
+ [scanner setSymbology: 0
+ config: ZBAR_CFG_X_DENSITY
+ to: (xDensity = 0)];
+ [scanner setSymbology: 0
+ config: ZBAR_CFG_Y_DENSITY
+ to: (yDensity = 1)];
+#endif
+}
+
+- (void) initOverlay
+{
+ overlay = [[UIView alloc]
+ initWithFrame: CGRectMake(0, 426, 320, 54)];
+ overlay.backgroundColor = [UIColor clearColor];
+
+ masks = [[NSArray alloc]
+ initWithObjects:
+ [[[UIView alloc]
+ initWithFrame: CGRectMake(0, -426, 320, 0)]
+ autorelease],
+ [[[UIView alloc]
+ initWithFrame: CGRectMake(0, -426, 0, 426)]
+ autorelease],
+ [[[UIView alloc]
+ initWithFrame: CGRectMake(0, 0, 320, 0)]
+ autorelease],
+ [[[UIView alloc]
+ initWithFrame: CGRectMake(320, -426, 0, 426)]
+ autorelease],
+ nil];
+ for(UIView *mask in masks) {
+ mask.backgroundColor = [UIColor colorWithWhite: 0
+ alpha: .5];
+ [overlay addSubview: mask];
+ }
+
+ UILabel *label =
+ [[UILabel alloc]
+ initWithFrame: CGRectMake(0, -426, 320, 48)];
+ label.backgroundColor = [UIColor clearColor];
+ label.textColor = [UIColor whiteColor];
+ label.font = [UIFont boldSystemFontOfSize: 24];
+ label.text = @"Custom Overlay";
+ [overlay addSubview: label];
+ [label release];
+
+ typeOvl = [[UILabel alloc]
+ initWithFrame: CGRectMake(0, -378, 80, 24)];
+ typeOvl.backgroundColor = [UIColor clearColor];
+ typeOvl.textColor = [UIColor whiteColor];
+ typeOvl.font = [UIFont systemFontOfSize: 16];
+ typeOvl.textAlignment = UITextAlignmentCenter;
+ [overlay addSubview: typeOvl];
+
+ dataOvl = [[UILabel alloc]
+ initWithFrame: CGRectMake(96, -378, 224, 24)];
+ dataOvl.backgroundColor = [UIColor clearColor];
+ dataOvl.textColor = [UIColor whiteColor];
+ dataOvl.font = [UIFont systemFontOfSize: 16];
+ [overlay addSubview: dataOvl];
+
+ UIToolbar *toolbar =
+ [[UIToolbar alloc]
+ initWithFrame: CGRectMake(0, 0, 320, 54)];
+ toolbar.tintColor = [UIColor colorWithRed: .5
+ green: 0
+ blue: 0
+ alpha: 1];
+ [manualBtn release];
+ manualBtn = [[UIBarButtonItem alloc]
+ initWithBarButtonSystemItem: UIBarButtonSystemItemCamera
+ target: self
+ action: @selector(manualCapture)];
+
+
+ UIButton *info =
+ [UIButton buttonWithType: UIButtonTypeInfoLight];
+ [info addTarget: self
+ action: @selector(info)
+ forControlEvents: UIControlEventTouchUpInside];
+
+ toolbar.items =
+ [NSArray arrayWithObjects:
+ [[[UIBarButtonItem alloc]
+ initWithTitle: @"X"
+ style: UIBarButtonItemStylePlain
+ target: self
+ action: @selector(imagePickerControllerDidCancel:)]
+ autorelease],
+ [[[UIBarButtonItem alloc]
+ initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace
+ target: nil
+ action: nil]
+ autorelease],
+ manualBtn,
+ [[[UIBarButtonItem alloc]
+ initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace
+ target: nil
+ action: nil]
+ autorelease],
+ [[[UIBarButtonItem alloc]
+ initWithBarButtonSystemItem: UIBarButtonSystemItemPause
+ target: self
+ action: @selector(pause)]
+ autorelease],
+ [[[UIBarButtonItem alloc]
+ initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace
+ target: nil
+ action: nil]
+ autorelease],
+ [[[UIBarButtonItem alloc]
+ initWithCustomView: info]
+ autorelease],
+ nil];
+ [overlay addSubview: toolbar];
+ [toolbar release];
+}
+
+- (void) updateCropMask
+{
+ CGRect r = reader.scanCrop;
+ r.origin.x *= 426;
+ r.origin.y *= 320;
+ r.size.width *= 426;
+ r.size.height *= 320;
+ UIView *mask = [masks objectAtIndex: 0];
+ mask.frame = CGRectMake(0, -426, 320, r.origin.x);
+ mask = [masks objectAtIndex: 1];
+ mask.frame = CGRectMake(0, r.origin.x - 426, r.origin.y, r.size.width);
+
+ r.origin.y += r.size.height;
+ mask = [masks objectAtIndex: 2];
+ mask.frame = CGRectMake(r.origin.y, r.origin.x - 426,
+ 320 - r.origin.y, r.size.width);
+
+ r.origin.x += r.size.width;
+ mask = [masks objectAtIndex: 3];
+ mask.frame = CGRectMake(0, r.origin.x - 426, 320, 426 - r.origin.x);
+}
+
+- (void) setCheck: (BOOL) state
+ forCell: (UITableViewCell*) cell
+{
+ cell.accessoryType =
+ ((state)
+ ? UITableViewCellAccessoryCheckmark
+ : UITableViewCellAccessoryNone);
+}
+
+- (void) setCheckForTag: (int) tag
+ inSection: (int) section
+{
+ for(UITableViewCell *cell in [sections objectAtIndex: section])
+ [self setCheck: (cell.tag == tag)
+ forCell: cell];
+}
+
+- (void) setCheckForName: (NSString*) name
+ inSection: (int) section
+{
+ for(UITableViewCell *cell in [sections objectAtIndex: section])
+ [self setCheck: [name isEqualToString: cell.textLabel.text]
+ forCell: cell];
+}
+
+- (void) applicationDidFinishLaunching: (UIApplication*) application
+{
+ self.title = @"ZBar Reader Test";
+
+ nav = [[UINavigationController alloc]
+ initWithRootViewController: self];
+ nav.delegate = self;
+
+ window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
+ [window addSubview: nav.view];
+ [window makeKeyAndVisible];
+
+ [self initReader: @"ZBarReaderViewController"];
+}
+
+- (UITableViewCell*) cellWithTitle: (NSString*) title
+ tag: (NSInteger) tag
+ checked: (BOOL) checked
+{
+ UITableViewCell *cell = [UITableViewCell new];
+ cell.textLabel.text = title;
+ cell.tag = tag;
+ [self setCheck: checked
+ forCell: cell];
+ return([cell autorelease]);
+}
+
+- (void) initControlCells
+{
+ // NB don't need SourceTypeSavedPhotosAlbum
+ static NSString* const sourceNames[] = {
+ @"Library", @"Camera", @"Album", nil
+ };
+ NSMutableArray *sources = [NSMutableArray array];
+ for(int i = 0; sourceNames[i]; i++)
+ if([[reader class] isSourceTypeAvailable: i])
+ [sources addObject:
+ [self cellWithTitle: sourceNames[i]
+ tag: i
+ checked: (reader.sourceType == i)]];
+ [sections replaceObjectAtIndex: SOURCE_SECTION
+ withObject: sources];
+
+ static NSString* const modeNames[] = {
+ @"Default", @"Sampling", @"Sequence", nil
+ };
+ NSMutableArray *modes = [NSMutableArray array];
+ for(int i = 0; modeNames[i]; i++)
+ [modes addObject:
+ [self cellWithTitle: modeNames[i]
+ tag: i
+ checked: (reader.cameraMode == i)]];
+ [sections replaceObjectAtIndex: CAMODE_SECTION
+ withObject: modes];
+
+ static NSString *const deviceNames[] = {
+ @"Rear", @"Front", nil
+ };
+ NSMutableArray *devices = [NSMutableArray array];
+ for(int i = 0; deviceNames[i]; i++)
+ if([[reader class]
+ isCameraDeviceAvailable: i])
+ [devices addObject:
+ [self cellWithTitle: deviceNames[i]
+ tag: i
+ checked: (reader.cameraDevice == i)]];
+ assert(devices.count);
+ [sections replaceObjectAtIndex: DEVICE_SECTION
+ withObject: devices];
+
+ static NSString *const flashNames[] = {
+ @"Off", @"Auto", @"On", nil
+ };
+ NSMutableArray *flashModes = [NSMutableArray array];
+ for(int i = 0; flashNames[i]; i++)
+ [flashModes addObject:
+ [self cellWithTitle: flashNames[i]
+ tag: i - 1
+ checked: (reader.cameraFlashMode == i - 1)]];
+ [sections replaceObjectAtIndex: FLASH_SECTION
+ withObject: flashModes];
+
+ static NSString *const qualityNames[] = {
+ @"High", @"Medium", @"Low", @"640x480", nil
+ };
+ NSMutableArray *qualities = [NSMutableArray array];
+ for(int i = 0; qualityNames[i]; i++)
+ [qualities addObject:
+ [self cellWithTitle: qualityNames[i]
+ tag: i
+ checked: (reader.videoQuality == i)]];
+ [sections replaceObjectAtIndex: QUALITY_SECTION
+ withObject: qualities];
+
+ static NSString* const configNames[] = {
+ @"showsCameraControls", @"showsZBarControls", @"tracksSymbols",
+ @"enableCache", @"showsHelpOnFail", @"takesPicture",
+ nil
+ };
+ NSMutableArray *configs = [NSMutableArray array];
+ for(int i = 0; configNames[i]; i++)
+ @try {
+ BOOL checked = [[reader valueForKey: configNames[i]] boolValue];
+ [configs addObject:
+ [self cellWithTitle: configNames[i]
+ tag: i
+ checked: checked]];
+ }
+ @catch(...) { }
+ [sections replaceObjectAtIndex: CONFIG_SECTION
+ withObject: configs];
+
+ UITableViewCell *xDensityCell =
+ [[[UITableViewCell alloc]
+ initWithStyle: UITableViewCellStyleValue1
+ reuseIdentifier: nil]
+ autorelease];
+ xDensityCell.textLabel.text = @"CFG_X_DENSITY";
+ xDensityCell.detailTextLabel.tag = ZBAR_CFG_X_DENSITY;
+ xDensityCell.detailTextLabel.text =
+ [NSString stringWithFormat: @"%d", xDensity];
+
+ UITableViewCell *yDensityCell =
+ [[[UITableViewCell alloc]
+ initWithStyle: UITableViewCellStyleValue1
+ reuseIdentifier: nil]
+ autorelease];
+ yDensityCell.textLabel.text = @"CFG_Y_DENSITY";
+ yDensityCell.detailTextLabel.tag = ZBAR_CFG_Y_DENSITY;
+ yDensityCell.detailTextLabel.text =
+ [NSString stringWithFormat: @"%d", yDensity];
+
+ UITableViewCell *cropCell =
+ [[[UITableViewCell alloc]
+ initWithStyle: UITableViewCellStyleValue1
+ reuseIdentifier: nil]
+ autorelease];
+ cropCell.textLabel.text = @"scanCrop";
+ cropCell.detailTextLabel.text = NSStringFromCGRect(reader.scanCrop);
+
+ UITableViewCell *zoomCell =
+ [[[UITableViewCell alloc]
+ initWithStyle: UITableViewCellStyleValue1
+ reuseIdentifier: nil]
+ autorelease];
+ zoomCell.textLabel.text = @"zoom";
+ zoomCell.detailTextLabel.text =
+ [NSString stringWithFormat: @"%g", zoom];
+
+ [sections replaceObjectAtIndex: CUSTOM_SECTION
+ withObject: [NSArray arrayWithObjects:
+ xDensityCell,
+ yDensityCell,
+ cropCell,
+ zoomCell,
+ [self cellWithTitle: @"continuous"
+ tag: 1
+ checked: continuous],
+ nil]];
+
+ static const zbar_symbol_type_t allSymbologies[] = {
+ ZBAR_QRCODE, ZBAR_CODE128, ZBAR_CODE93, ZBAR_CODE39, ZBAR_CODABAR,
+ ZBAR_I25, ZBAR_DATABAR, ZBAR_DATABAR_EXP,
+ ZBAR_EAN13, ZBAR_EAN8,
+ ZBAR_EAN2, ZBAR_EAN5, ZBAR_COMPOSITE,
+ ZBAR_UPCA, ZBAR_UPCE,
+ ZBAR_ISBN13, ZBAR_ISBN10,
+ 0
+ };
+ NSMutableArray *symbols = [NSMutableArray array];
+ [symbolEnables release];
+ symbolEnables = [NSMutableArray new];
+ BOOL en = YES;
+ for(int i = 0; allSymbologies[i]; i++) {
+ zbar_symbol_type_t sym = allSymbologies[i];
+ if(defaultSymbologies)
+ en = !![defaultSymbologies member:
+ [NSNumber numberWithInteger: sym]];
+ else
+ /* symbologies after ZBAR_EAN5 are disabled by default */
+ en = en && (sym != ZBAR_EAN2);
+ [symbols addObject:
+ [self cellWithTitle: [ZBarSymbol nameForType: sym]
+ tag: sym
+ checked: en]];
+ [symbolEnables addObject: [NSNumber numberWithBool: en]];
+ }
+ [sections replaceObjectAtIndex: SYMBOL_SECTION
+ withObject: symbols];
+
+ [self.tableView reloadData];
+}
+
+- (void) viewDidLoad
+{
+ [super viewDidLoad];
+
+ UITableView *view = self.tableView;
+ view.delegate = self;
+ view.dataSource = self;
+
+ [self initOverlay];
+ [self updateCropMask];
+
+ sections = [[NSMutableArray alloc]
+ initWithCapacity: NUM_SECTIONS];
+ for(int i = 0; i < NUM_SECTIONS; i++)
+ [sections addObject: [NSNull null]];
+
+ NSArray *classes =
+ [NSArray arrayWithObjects:
+ [self cellWithTitle: @"ZBarReaderViewController"
+ tag: 0
+ checked: YES],
+ [self cellWithTitle: @"ZBarReaderController"
+ tag: 1
+ checked: NO],
+ nil];
+ [sections replaceObjectAtIndex: CLASS_SECTION
+ withObject: classes];
+
+ UITableViewCell *typeCell = [UITableViewCell new];
+ typeLabel = [typeCell.textLabel retain];
+ UITableViewCell *dataCell = [UITableViewCell new];
+ dataLabel = [dataCell.textLabel retain];
+ dataLabel.numberOfLines = 0;
+ dataLabel.lineBreakMode = UILineBreakModeCharacterWrap;
+ UITableViewCell *imageCell = [UITableViewCell new];
+ imageView = [UIImageView new];
+ imageView.contentMode = UIViewContentModeScaleAspectFit;
+ imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
+ UIViewAutoresizingFlexibleHeight);
+ UIView *content = imageCell.contentView;
+ imageView.frame = content.bounds;
+ [content addSubview: imageView];
+ [imageView release];
+ NSArray *results =
+ [NSArray arrayWithObjects: typeCell, dataCell, imageCell, nil];
+ [sections replaceObjectAtIndex: RESULT_SECTION
+ withObject: results];
+
+ [self initControlCells];
+}
+
+- (void) viewDidUnload
+{
+ [sections release];
+ sections = nil;
+ [symbolEnables release];
+ symbolEnables = nil;
+ [manualBtn release];
+ manualBtn = nil;
+ [typeLabel release];
+ typeLabel = nil;
+ [dataLabel release];
+ dataLabel = nil;
+ [imageView release];
+ imageView = nil;
+ [typeOvl release];
+ typeOvl = nil;
+ [dataOvl release];
+ dataOvl = nil;
+ [overlay release];
+ overlay = nil;
+ [masks release];
+ masks = nil;
+ [super viewDidUnload];
+}
+
+- (void) dealloc
+{
+ [reader release];
+ reader = nil;
+ [nav release];
+ nav = nil;
+ [window release];
+ window = nil;
+ [super dealloc];
+}
+
+- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+{
+ return(YES);
+}
+
+- (void) scan
+{
+ found = paused = NO;
+ imageView.image = nil;
+ typeLabel.text = nil;
+ dataLabel.text = nil;
+ typeOvl.text = nil;
+ dataOvl.text = nil;
+ [self.tableView reloadData];
+ if(reader.sourceType == UIImagePickerControllerSourceTypeCamera)
+ reader.cameraOverlayView = (reader.showsZBarControls) ? nil : overlay;
+ if([reader respondsToSelector: @selector(readerView)]) {
+ reader.readerView.showsFPS = YES;
+ if(zoom)
+ reader.readerView.zoom = zoom;
+ reader.supportedOrientationsMask = (reader.showsZBarControls)
+ ? ZBarOrientationMaskAll
+ : ZBarOrientationMask(UIInterfaceOrientationPortrait); // tmp disable
+ }
+ manualBtn.enabled = TARGET_IPHONE_SIMULATOR ||
+ (reader.cameraMode == ZBarReaderControllerCameraModeDefault) ||
+ [reader isKindOfClass: [ZBarReaderViewController class]];
+ [self presentModalViewController: reader
+ animated: YES];
+}
+
+- (void) help
+{
+ ZBarHelpController *help =
+ [[ZBarHelpController alloc]
+ initWithReason: @"TEST"];
+ [self presentModalViewController: help
+ animated: YES];
+ [help release];
+}
+
+- (void) info
+{
+ [reader showHelpWithReason: @"INFO"];
+}
+
+- (void) pause
+{
+ if(![reader respondsToSelector: @selector(readerView)])
+ return;
+ paused = !paused;
+ if(paused)
+ [reader.readerView stop];
+ else
+ [reader.readerView start];
+}
+
+- (void) manualCapture
+{
+ [(UIImagePickerController*)reader takePicture];
+}
+
+// UINavigationControllerDelegate
+
+- (void) navigationController: (UINavigationController*) _nav
+ willShowViewController: (UIViewController*) vc
+ animated: (BOOL) animated
+{
+ self.navigationItem.leftBarButtonItem =
+ [[[UIBarButtonItem alloc]
+ initWithTitle: @"Help"
+ style: UIBarButtonItemStyleDone
+ target: self
+ action: @selector(help)]
+ autorelease];
+ self.navigationItem.rightBarButtonItem =
+ [[[UIBarButtonItem alloc]
+ initWithTitle: @"Scan!"
+ style: UIBarButtonItemStyleDone
+ target: self
+ action: @selector(scan)]
+ autorelease];
+}
+
+// UITableViewDataSource
+
+- (NSInteger) numberOfSectionsInTableView: (UITableView*) view
+{
+ return(sections.count - !found);
+}
+
+- (NSInteger) tableView: (UITableView*) view
+ numberOfRowsInSection: (NSInteger) idx
+{
+ NSArray *section = [sections objectAtIndex: idx];
+ return(section.count);
+}
+
+- (UITableViewCell*) tableView: (UITableView*) view
+ cellForRowAtIndexPath: (NSIndexPath*) path
+{
+ return([[sections objectAtIndex: path.section]
+ objectAtIndex: path.row]);
+}
+
+- (NSString*) tableView: (UITableView*) view
+ titleForHeaderInSection: (NSInteger) idx
+{
+ assert(idx < NUM_SECTIONS);
+ return(section_titles[idx]);
+}
+
+// UITableViewDelegate
+
+- (NSIndexPath*) tableView: (UITableView*) view
+ willSelectRowAtIndexPath: (NSIndexPath*) path
+{
+ if(path.section == RESULT_SECTION && path.row != 2)
+ return(nil);
+ return(path);
+}
+
+- (void) alertUnsupported
+{
+ UIAlertView *alert =
+ [[UIAlertView alloc]
+ initWithTitle: @"Unsupported"
+ message: @"Setting not available for this reader"
+ @" (or with this OS on this device)"
+ delegate: nil
+ cancelButtonTitle: @"Cancel"
+ otherButtonTitles: nil];
+ [alert show];
+ [alert release];
+}
+
+- (void) advanceCrop: (UILabel*) label
+{
+ CGRect r = CGRectFromString(label.text);
+ int i;
+ for(i = 0; crop_choices[i].size.width;)
+ if(CGRectEqualToRect(r, crop_choices[i++]))
+ break;
+ if(!crop_choices[i].size.width)
+ i = 0;
+ r = crop_choices[i];
+ reader.scanCrop = r;
+ label.text = NSStringFromCGRect(r);
+
+ [self updateCropMask];
+}
+
+- (void) advanceZoom: (UILabel*) label
+{
+ int i;
+ for(i = 0; zoom_choices[i] >= 0;)
+ if(zoom == zoom_choices[i++])
+ break;
+ if(zoom_choices[i] < 0)
+ i = 0;
+ zoom = zoom_choices[i];
+ assert(zoom >= 0);
+ label.text = [NSString stringWithFormat: @"%g", zoom];
+}
+
+- (void) advanceDensity: (UILabel*) label
+ value: (NSInteger*) value
+{
+ NSInteger d = *value;
+ int i;
+ for(i = 0; density_choices[i] >= 0;)
+ if(d == density_choices[i++])
+ break;
+ if(density_choices[i] < 0)
+ i = 0;
+ *value = d = density_choices[i];
+ assert(d >= 0);
+ [reader.scanner setSymbology: 0
+ config: label.tag
+ to: d];
+ label.text = [NSString stringWithFormat: @"%d", d];
+}
+
+- (void) tableView: (UITableView*) view
+ didSelectRowAtIndexPath: (NSIndexPath*) path
+{
+ [view deselectRowAtIndexPath: path
+ animated: YES];
+
+ UITableViewCell *cell = [view cellForRowAtIndexPath: path];
+
+ switch(path.section)
+ {
+ case CLASS_SECTION: {
+ NSString *name = cell.textLabel.text;
+ [self initReader: name];
+ [self updateCropMask];
+ [self initControlCells];
+ [self setCheckForName: name
+ inSection: CLASS_SECTION];
+ break;
+ }
+
+ case SOURCE_SECTION:
+ [self setCheckForTag: reader.sourceType = cell.tag
+ inSection: SOURCE_SECTION];
+ break;
+
+ case CAMODE_SECTION:
+ @try {
+ reader.cameraMode = cell.tag;
+ }
+ @catch (...) {
+ [self alertUnsupported];
+ }
+ [self setCheckForTag: reader.cameraMode
+ inSection: CAMODE_SECTION];
+ break;
+
+ case DEVICE_SECTION:
+ reader.cameraDevice = cell.tag;
+ [self setCheckForTag: reader.cameraDevice
+ inSection: DEVICE_SECTION];
+ break;
+
+ case FLASH_SECTION:
+ reader.cameraFlashMode = cell.tag;
+ [self setCheckForTag: reader.cameraFlashMode
+ inSection: FLASH_SECTION];
+ break;
+
+ case QUALITY_SECTION:
+ reader.videoQuality = cell.tag;
+ [self setCheckForTag: reader.videoQuality
+ inSection: QUALITY_SECTION];
+ break;
+
+ case CONFIG_SECTION: {
+ BOOL state;
+ NSString *key = cell.textLabel.text;
+ state = ![[reader valueForKey: key] boolValue];
+ @try {
+ [reader setValue: [NSNumber numberWithBool: state]
+ forKey: key];
+ }
+ @catch (...) {
+ [self alertUnsupported];
+ }
+
+ // read back and update current state
+ state = [[reader valueForKey: key] boolValue];
+ [self setCheck: state
+ forCell: cell];
+ break;
+ }
+
+ case CUSTOM_SECTION:
+ switch(path.row)
+ {
+ case 0:
+ [self advanceDensity: cell.detailTextLabel
+ value: &xDensity];
+ break;
+ case 1:
+ [self advanceDensity: cell.detailTextLabel
+ value: &yDensity];
+ break;
+ case 2:
+ [self advanceCrop: cell.detailTextLabel];
+ break;
+ case 3:
+ [self advanceZoom: cell.detailTextLabel];
+ break;
+ case 4:
+ [self setCheck: continuous = !continuous
+ forCell: cell];
+ break;
+ default:
+ assert(0);
+ }
+ break;
+
+ case SYMBOL_SECTION: {
+ BOOL state = ![[symbolEnables objectAtIndex: path.row] boolValue];
+ [symbolEnables replaceObjectAtIndex: path.row
+ withObject: [NSNumber numberWithBool: state]];
+ [reader.scanner setSymbology: cell.tag
+ config: ZBAR_CFG_ENABLE
+ to: state];
+ [self setCheck: state
+ forCell: cell];
+ break;
+ }
+ case RESULT_SECTION:
+ if(path.row == 2)
+ [[[[UIActionSheet alloc]
+ initWithTitle: nil
+ delegate: self
+ cancelButtonTitle: @"Cancel"
+ destructiveButtonTitle: nil
+ otherButtonTitles: @"Save Image", nil]
+ autorelease]
+ showInView: self.view];
+ break;
+ default:
+ assert(0);
+ }
+}
+
+- (CGFloat) tableView: (UITableView*) view
+ heightForRowAtIndexPath: (NSIndexPath*) path
+{
+ if(path.section < RESULT_SECTION)
+ return(44);
+
+ switch(path.row) {
+ case 0: return(44);
+ case 1: return(dataHeight);
+ case 2: return(300);
+ default: assert(0);
+ }
+ return(44);
+}
+
+// UIActionSheetDelegate
+
+- (void) actionSheet: (UIActionSheet*) sheet
+ clickedButtonAtIndex: (NSInteger) idx
+{
+ if(idx == sheet.cancelButtonIndex)
+ return;
+ idx -= sheet.firstOtherButtonIndex;
+ if(!idx) {
+ UIImage *img =
+ [UIImage imageWithData:
+ UIImagePNGRepresentation(imageView.image)];
+ UIImageWriteToSavedPhotosAlbum(img, nil, NULL, NULL);
+ }
+}
+
+// ZBarReaderDelegate
+
+- (void) imagePickerController: (UIImagePickerController*) picker
+ didFinishPickingMediaWithInfo: (NSDictionary*) info
+{
+ id <NSFastEnumeration> results =
+ [info objectForKey: ZBarReaderControllerResults];
+ assert(results);
+
+ UIImage *image = [info objectForKey: UIImagePickerControllerOriginalImage];
+ assert(image);
+ if(image)
+ imageView.image = image;
+
+ int quality = 0;
+ ZBarSymbol *bestResult = nil;
+ for(ZBarSymbol *sym in results) {
+ int q = sym.quality;
+ if(quality < q) {
+ quality = q;
+ bestResult = sym;
+ }
+ }
+
+ [self performSelector: @selector(presentResult:)
+ withObject: bestResult
+ afterDelay: .001];
+ if(!continuous)
+ [picker dismissModalViewControllerAnimated: YES];
+}
+
+- (void) presentResult: (ZBarSymbol*) sym
+{
+ found = sym || imageView.image;
+ NSString *typeName = @"NONE";
+ NSString *data = @"";
+ if(sym) {
+ typeName = sym.typeName;
+ data = sym.data;
+ }
+ typeLabel.text = typeName;
+ dataLabel.text = data;
+
+ if(continuous) {
+ typeOvl.text = typeName;
+ dataOvl.text = data;
+ }
+
+ NSLog(@"imagePickerController:didFinishPickingMediaWithInfo:\n");
+ NSLog(@" type=%@ data=%@\n", typeName, data);
+
+ CGSize size = [data sizeWithFont: [UIFont systemFontOfSize: 17]
+ constrainedToSize: CGSizeMake(288, 2000)
+ lineBreakMode: UILineBreakModeCharacterWrap];
+ dataHeight = size.height + 26;
+ if(dataHeight > 2000)
+ dataHeight = 2000;
+
+ [self.tableView reloadData];
+ [self.tableView scrollToRowAtIndexPath:
+ [NSIndexPath indexPathForRow: 0
+ inSection: RESULT_SECTION]
+ atScrollPosition:UITableViewScrollPositionTop
+ animated: NO];
+}
+
+- (void) imagePickerControllerDidCancel: (UIImagePickerController*) picker
+{
+ NSLog(@"imagePickerControllerDidCancel:\n");
+ [reader dismissModalViewControllerAnimated: YES];
+}
+
+- (void) readerControllerDidFailToRead: (ZBarReaderController*) _reader
+ withRetry: (BOOL) retry
+{
+ NSLog(@"readerControllerDidFailToRead: retry=%s\n",
+ (retry) ? "YES" : "NO");
+ if(!retry)
+ [_reader dismissModalViewControllerAnimated: YES];
+}
+
+@end
+
+
+int main (int argc, char *argv[])
+{
+ NSAutoreleasePool *pool = [NSAutoreleasePool new];
+ int rc = UIApplicationMain(argc, argv, nil, @"AppDelegate");
+ [pool release];
+ return(rc);
+}
diff --git a/iphone/examples/readertest/readertest.plist b/iphone/examples/readertest/readertest.plist
new file mode 100644
index 0000000..62a8126
--- /dev/null
+++ b/iphone/examples/readertest/readertest.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>net.sourceforge.zbar.test.readertest</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+</dict>
+</plist>
diff --git a/iphone/examples/readertest/readertest.xcodeproj/project.pbxproj b/iphone/examples/readertest/readertest.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..5d30670
--- /dev/null
+++ b/iphone/examples/readertest/readertest.xcodeproj/project.pbxproj
@@ -0,0 +1,351 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+ DC48C4D61219E5F70047193B /* libzbar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DC48C4D01219E5F70047193B /* libzbar.a */; };
+ DC48C4D71219E5F70047193B /* zbar-back.png in Resources */ = {isa = PBXBuildFile; fileRef = DC48C4D21219E5F70047193B /* zbar-back.png */; };
+ DC48C4D81219E5F70047193B /* zbar-help.html in Resources */ = {isa = PBXBuildFile; fileRef = DC48C4D31219E5F70047193B /* zbar-help.html */; };
+ DC48C4D91219E5F70047193B /* zbar-helpicons.png in Resources */ = {isa = PBXBuildFile; fileRef = DC48C4D41219E5F70047193B /* zbar-helpicons.png */; };
+ DC48C4DA1219E5F70047193B /* zbar-samples.png in Resources */ = {isa = PBXBuildFile; fileRef = DC48C4D51219E5F70047193B /* zbar-samples.png */; };
+ DC824600162B568A0010B2E6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC8245FF162B568A0010B2E6 /* Default-568h@2x.png */; };
+ DCB9118510BC5DA200B907F0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCB9118410BC5DA200B907F0 /* QuartzCore.framework */; };
+ DCB9118810BC5DB500B907F0 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DCD6E13B10B0AFD4002005CD /* libiconv.dylib */; };
+ DCD6E0D010B0AD41002005CD /* readertest.m in Sources */ = {isa = PBXBuildFile; fileRef = DCD6E0CF10B0AD41002005CD /* readertest.m */; };
+ DCDC6D9B11ACA23000021380 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDC6D9A11ACA23000021380 /* CoreVideo.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+ DCDC6D9F11ACA23900021380 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDC6D9E11ACA23900021380 /* CoreMedia.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+ DCDC6DEC11ACA5B400021380 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDC6DEB11ACA5B400021380 /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 1D6058910D05DD3D006BFB54 /* readertest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = readertest.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ DC48C4BE1219E5F70047193B /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = "<group>"; };
+ DC48C4BF1219E5F70047193B /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = "<group>"; };
+ DC48C4C01219E5F70047193B /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = "<group>"; };
+ DC48C4C11219E5F70047193B /* ImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageScanner.h; sourceTree = "<group>"; };
+ DC48C4C21219E5F70047193B /* Processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Processor.h; sourceTree = "<group>"; };
+ DC48C4C31219E5F70047193B /* Scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scanner.h; sourceTree = "<group>"; };
+ DC48C4C41219E5F70047193B /* Symbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Symbol.h; sourceTree = "<group>"; };
+ DC48C4C51219E5F70047193B /* Video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Video.h; sourceTree = "<group>"; };
+ DC48C4C61219E5F70047193B /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = "<group>"; };
+ DC48C4C71219E5F70047193B /* zbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zbar.h; sourceTree = "<group>"; };
+ DC48C4C81219E5F70047193B /* ZBarCaptureReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarCaptureReader.h; sourceTree = "<group>"; };
+ DC48C4C91219E5F70047193B /* ZBarImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImage.h; sourceTree = "<group>"; };
+ DC48C4CA1219E5F70047193B /* ZBarImageScanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarImageScanner.h; sourceTree = "<group>"; };
+ DC48C4CB1219E5F70047193B /* ZBarReaderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderController.h; sourceTree = "<group>"; };
+ DC48C4CC1219E5F70047193B /* ZBarReaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderView.h; sourceTree = "<group>"; };
+ DC48C4CD1219E5F70047193B /* ZBarReaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarReaderViewController.h; sourceTree = "<group>"; };
+ DC48C4CE1219E5F70047193B /* ZBarSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSDK.h; sourceTree = "<group>"; };
+ DC48C4CF1219E5F70047193B /* ZBarSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZBarSymbol.h; sourceTree = "<group>"; };
+ DC48C4D01219E5F70047193B /* libzbar.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libzbar.a; sourceTree = "<group>"; };
+ DC48C4D21219E5F70047193B /* zbar-back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-back.png"; sourceTree = "<group>"; };
+ DC48C4D31219E5F70047193B /* zbar-help.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "zbar-help.html"; sourceTree = "<group>"; };
+ DC48C4D41219E5F70047193B /* zbar-helpicons.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-helpicons.png"; sourceTree = "<group>"; };
+ DC48C4D51219E5F70047193B /* zbar-samples.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zbar-samples.png"; sourceTree = "<group>"; };
+ DC8245FF162B568A0010B2E6 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
+ DCB9118410BC5DA200B907F0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ DCD6E0CE10B0AD41002005CD /* prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prefix.pch; sourceTree = "<group>"; };
+ DCD6E0CF10B0AD41002005CD /* readertest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = readertest.m; sourceTree = "<group>"; };
+ DCD6E0D810B0AD55002005CD /* readertest.plist */ = {isa = PBXFileReference; explicitFileType = text.plist.info; fileEncoding = 4; path = readertest.plist; sourceTree = "<group>"; };
+ DCD6E13B10B0AFD4002005CD /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
+ DCDC6D9A11ACA23000021380 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
+ DCDC6D9E11ACA23900021380 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
+ DCDC6DEB11ACA5B400021380 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
+ 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
+ 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
+ DCB9118510BC5DA200B907F0 /* QuartzCore.framework in Frameworks */,
+ DCDC6DEC11ACA5B400021380 /* AVFoundation.framework in Frameworks */,
+ DCDC6D9F11ACA23900021380 /* CoreMedia.framework in Frameworks */,
+ DCDC6D9B11ACA23000021380 /* CoreVideo.framework in Frameworks */,
+ DCB9118810BC5DB500B907F0 /* libiconv.dylib in Frameworks */,
+ DC48C4D61219E5F70047193B /* libzbar.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 1D6058910D05DD3D006BFB54 /* readertest.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+ isa = PBXGroup;
+ children = (
+ DCD6E0CE10B0AD41002005CD /* prefix.pch */,
+ DCD6E0CF10B0AD41002005CD /* readertest.m */,
+ DC48C4BA1219E5F70047193B /* ZBarSDK */,
+ DC3CEAC61209C07400D7A786 /* Resources */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = CustomTemplate;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1D30AB110D05D00D00671497 /* Foundation.framework */,
+ 288765FC0DF74451002DB57D /* CoreGraphics.framework */,
+ 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
+ DCB9118410BC5DA200B907F0 /* QuartzCore.framework */,
+ DCDC6DEB11ACA5B400021380 /* AVFoundation.framework */,
+ DCDC6D9A11ACA23000021380 /* CoreVideo.framework */,
+ DCDC6D9E11ACA23900021380 /* CoreMedia.framework */,
+ DCD6E13B10B0AFD4002005CD /* libiconv.dylib */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ DC3CEAC61209C07400D7A786 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ DCD6E0D810B0AD55002005CD /* readertest.plist */,
+ DC8245FF162B568A0010B2E6 /* Default-568h@2x.png */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ DC48C4BA1219E5F70047193B /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC48C4BB1219E5F70047193B /* Headers */,
+ DC48C4D01219E5F70047193B /* libzbar.a */,
+ DC48C4D11219E5F70047193B /* Resources */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC48C4BB1219E5F70047193B /* Headers */ = {
+ isa = PBXGroup;
+ children = (
+ DC48C4BC1219E5F70047193B /* ZBarSDK */,
+ );
+ path = Headers;
+ sourceTree = "<group>";
+ };
+ DC48C4BC1219E5F70047193B /* ZBarSDK */ = {
+ isa = PBXGroup;
+ children = (
+ DC48C4BD1219E5F70047193B /* zbar */,
+ DC48C4C71219E5F70047193B /* zbar.h */,
+ DC48C4C81219E5F70047193B /* ZBarCaptureReader.h */,
+ DC48C4C91219E5F70047193B /* ZBarImage.h */,
+ DC48C4CA1219E5F70047193B /* ZBarImageScanner.h */,
+ DC48C4CB1219E5F70047193B /* ZBarReaderController.h */,
+ DC48C4CC1219E5F70047193B /* ZBarReaderView.h */,
+ DC48C4CD1219E5F70047193B /* ZBarReaderViewController.h */,
+ DC48C4CE1219E5F70047193B /* ZBarSDK.h */,
+ DC48C4CF1219E5F70047193B /* ZBarSymbol.h */,
+ );
+ path = ZBarSDK;
+ sourceTree = "<group>";
+ };
+ DC48C4BD1219E5F70047193B /* zbar */ = {
+ isa = PBXGroup;
+ children = (
+ DC48C4BE1219E5F70047193B /* Decoder.h */,
+ DC48C4BF1219E5F70047193B /* Exception.h */,
+ DC48C4C01219E5F70047193B /* Image.h */,
+ DC48C4C11219E5F70047193B /* ImageScanner.h */,
+ DC48C4C21219E5F70047193B /* Processor.h */,
+ DC48C4C31219E5F70047193B /* Scanner.h */,
+ DC48C4C41219E5F70047193B /* Symbol.h */,
+ DC48C4C51219E5F70047193B /* Video.h */,
+ DC48C4C61219E5F70047193B /* Window.h */,
+ );
+ path = zbar;
+ sourceTree = "<group>";
+ };
+ DC48C4D11219E5F70047193B /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ DC48C4D21219E5F70047193B /* zbar-back.png */,
+ DC48C4D31219E5F70047193B /* zbar-help.html */,
+ DC48C4D41219E5F70047193B /* zbar-helpicons.png */,
+ DC48C4D51219E5F70047193B /* zbar-samples.png */,
+ );
+ path = Resources;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 1D6058900D05DD3D006BFB54 /* readertest */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "readertest" */;
+ buildPhases = (
+ 1D60588D0D05DD3D006BFB54 /* Resources */,
+ 1D60588E0D05DD3D006BFB54 /* Sources */,
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = readertest;
+ productName = readertest;
+ productReference = 1D6058910D05DD3D006BFB54 /* readertest.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "readertest" */;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 1D6058900D05DD3D006BFB54 /* readertest */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 1D60588D0D05DD3D006BFB54 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DC48C4D71219E5F70047193B /* zbar-back.png in Resources */,
+ DC48C4D81219E5F70047193B /* zbar-help.html in Resources */,
+ DC48C4D91219E5F70047193B /* zbar-helpicons.png in Resources */,
+ DC48C4DA1219E5F70047193B /* zbar-samples.png in Resources */,
+ DC824600162B568A0010B2E6 /* Default-568h@2x.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 1D60588E0D05DD3D006BFB54 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DCD6E0D010B0AD41002005CD /* readertest.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 1D6058940D05DD3E006BFB54 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = prefix.pch;
+ INFOPLIST_FILE = readertest.plist;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = readertest;
+ };
+ name = Debug;
+ };
+ 1D6058950D05DD3E006BFB54 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = prefix.pch;
+ INFOPLIST_FILE = readertest.plist;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/ZBarSDK\"",
+ );
+ PRODUCT_NAME = readertest;
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1;
+ OTHER_LDFLAGS = "-all_load";
+ PREBINDING = NO;
+ SDKROOT = iphoneos;
+ SYMROOT = /tmp/readertest.build;
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1;
+ OTHER_LDFLAGS = "-all_load";
+ PREBINDING = NO;
+ SDKROOT = iphoneos;
+ SYMROOT = /tmp/readertest.build;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "readertest" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1D6058940D05DD3E006BFB54 /* Debug */,
+ 1D6058950D05DD3E006BFB54 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "readertest" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/iphone/examples/readertest/readertest.xcodeproj/xcshareddata/xcschemes/readertest.xcscheme b/iphone/examples/readertest/readertest.xcodeproj/xcshareddata/xcschemes/readertest.xcscheme
new file mode 100644
index 0000000..9264466
--- /dev/null
+++ b/iphone/examples/readertest/readertest.xcodeproj/xcshareddata/xcschemes/readertest.xcscheme
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+ BuildableName = "readertest.app"
+ BlueprintName = "readertest"
+ ReferencedContainer = "container:readertest.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+ BuildableName = "readertest.app"
+ BlueprintName = "readertest"
+ ReferencedContainer = "container:readertest.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ displayScaleIsEnabled = "NO"
+ displayScale = "1.00"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+ BuildableName = "readertest.app"
+ BlueprintName = "readertest"
+ ReferencedContainer = "container:readertest.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>