[SCM] Multi-format 1D/2D barcode image processing library branch, upstream, updated. 24d4480bc48cf9eabf7b2bd2f528248b0e458809
rpechayr
rpechayr at 59b500cc-1b3d-0410-9834-0bbf25fbcc57
Wed Aug 4 01:31:54 UTC 2010
The following commit has been merged in the upstream branch:
commit 13b8738c6ba620c517fd35f532f13294400cfd8d
Author: rpechayr <rpechayr at 59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Date: Sun Jun 6 12:42:31 2010 +0000
[iphone] added known issues in README when including ZXingWidget into your project, Modified ZXingWidgetController so that it know hosts a UIImagePickerController instead of SubClassing it. Please let me know if anything is broken
git-svn-id: http://zxing.googlecode.com/svn/trunk@1412 59b500cc-1b3d-0410-9834-0bbf25fbcc57
diff --git a/iphone/README b/iphone/README
index cd1aedd..490f906 100644
--- a/iphone/README
+++ b/iphone/README
@@ -25,7 +25,7 @@ How to include ZXingWidget in a easy and clean way:
4. Finally, we need to tell your project where to find the ZXingWidget headers. Open your
"Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click
it. Add the relative path from your project's directory to the
- "zxing/iphone/ZXingWidget/Classes" directory. Make sure you click the checkbox "relative path" !
+ "zxing/iphone/ZXingWidget/Classes" directory. Make sure you click the checkbox "recursive path" !
5. Ultimately you need to make a tweak so that ZXing actually decodes barcode. In target section, double
click on your project target, and go to the build tab. Look for the "Exported Symbols Files" and
@@ -33,4 +33,18 @@ How to include ZXingWidget in a easy and clean way:
This will tell the linket to actually link with some key classes so that this code registers the necessary
decoders.
- 6. You're ready to go. Just #import <ZXingWidgetController.h> from anywhere and it should work !
\ No newline at end of file
+ 6. You're ready to go. Just #import <ZXingWidgetController.h> from anywhere and it should work !
+
+Know issues for above steps to include:
+======================================
+ - It can happen that when trying to build your own project with ZXoingWidgetController you get linker errors like
+ "undefined reference to". If this error looks like a c++ undefined reference, then renaming main.m into main.mm (Objectice-C++ source suffix)
+ may fix the problem
+
+ - If you have building error like " ... : No such file or directory", then it is a classical error, it means that the path to includes is not well
+ specified. The best way to fix this is to look at the Build Command that failed. To do that, click on the lower right corner of your XCode project,
+ you should see the build command that failed. Click on it and expand it by cliking on the "more" symbols that just appeared. This will make appear
+ the exact command line instruction that is ran and fails. You can then make sure that the Header search path you specified is there, and you can also
+ copy/paste this line into your terminal and try to see if you can reproduce/fix the error by adding the right path to the compiler. Once is is fixed,
+ you should have an idea of what's the problem and accordingly modify your Header Search Path.
+
\ No newline at end of file
diff --git a/iphone/ScanTest/Classes/RootViewController.m b/iphone/ScanTest/Classes/RootViewController.m
index 2af80bb..20ef834 100644
--- a/iphone/ScanTest/Classes/RootViewController.m
+++ b/iphone/ScanTest/Classes/RootViewController.m
@@ -35,7 +35,7 @@
- (IBAction)scanPressed:(id)sender {
//UIImagePickerController *picker = [[UIImagePickerController alloc] init];
[self presentModalViewController:scanController
- animated:YES];
+ animated:NO];
// [self.navigationController pushViewController:scanController animated:true];
}
@@ -82,7 +82,6 @@
[resultsView setText:resultsToDisplay];
[resultsView setNeedsDisplay];
}
-
}
- (void)cancelled {
diff --git a/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj b/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
index af58649..fa44d4c 100755
--- a/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
+++ b/iphone/ScanTest/ScanTest.xcodeproj/project.pbxproj
@@ -8,7 +8,7 @@
/* Begin PBXBuildFile section */
1D3623260D0F684500981E51 /* ScanTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* ScanTestAppDelegate.m */; };
- 1D60589B0D05DD56006BFB54 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; };
+ 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
1F027F7F11A7BADA006B06DE /* libZXingWidget.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F027F7E11A7BAD4006B06DE /* libZXingWidget.a */; };
@@ -52,7 +52,7 @@
28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
28F335F01007B36200424DE2 /* RootViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RootViewController.xib; sourceTree = "<group>"; };
- 29B97316FDCFA39411CA2CEA /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
+ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* ScanTest-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ScanTest-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
E5345BF01198D81A000CB77F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
E5345FD6119B27D2000CB77F /* libZXingWidget.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libZXingWidget.a; path = "build/Debug-iphoneos/libZXingWidget.a"; sourceTree = "<group>"; };
@@ -129,7 +129,7 @@
isa = PBXGroup;
children = (
28A0AAE50D9B0CCF005BE974 /* ScanTest_Prefix.pch */,
- 29B97316FDCFA39411CA2CEA /* main.mm */,
+ 29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
@@ -236,7 +236,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 1D60589B0D05DD56006BFB54 /* main.mm in Sources */,
+ 1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* ScanTestAppDelegate.m in Sources */,
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
);
@@ -303,7 +303,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "../ZXingWidget/Classes/**";
PREBINDING = NO;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphoneos3.1;
};
name = Debug;
};
@@ -318,7 +318,7 @@
HEADER_SEARCH_PATHS = "../ZXingWidget/Classes/**";
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
PREBINDING = NO;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphoneos3.1;
};
name = Release;
};
diff --git a/iphone/ZXingWidget/Classes/OverlayView.h b/iphone/ZXingWidget/Classes/OverlayView.h
index 019ee1e..d9f6d35 100755
--- a/iphone/ZXingWidget/Classes/OverlayView.h
+++ b/iphone/ZXingWidget/Classes/OverlayView.h
@@ -26,12 +26,11 @@
BOOL oneDMode;
}
-//@property (nonatomic, retain) UIImage* image;
@property (nonatomic, retain) NSArray* points;
@property (nonatomic, assign) id<CancelDelegate> delegate;
@property (nonatomic, assign) BOOL oneDMode;
-- (id)initWithCancelEnabled:(BOOL)cancelEnabled frame:(CGRect)frame;
+- (id)initWithFrame:(CGRect)theFrame cancelEnabled:(BOOL)isCancelEnabled oneDMode:(BOOL)isOneDModeEnabled;
- (CGRect)cropRect;
diff --git a/iphone/ZXingWidget/Classes/OverlayView.m b/iphone/ZXingWidget/Classes/OverlayView.m
index 27ebd44..b8e2355 100755
--- a/iphone/ZXingWidget/Classes/OverlayView.m
+++ b/iphone/ZXingWidget/Classes/OverlayView.m
@@ -22,28 +22,28 @@ static const CGFloat kPadding = 10;
@synthesize delegate, oneDMode;
@synthesize points = _points;
-//@synthesize image;
////////////////////////////////////////////////////////////////////////////////////////////////////
-- (id)initWithCancelEnabled:(BOOL)cancelEnabled frame:(CGRect)frame {
- if( self = [super initWithFrame:frame] ) {
+- (id) initWithFrame:(CGRect)theFrame cancelEnabled:(BOOL)isCancelEnabled oneDMode:(BOOL)isOneDModeEnabled {
+ if( self = [super initWithFrame:theFrame] ) {
self.backgroundColor = [UIColor clearColor];
- }
- if (cancelEnabled) {
- cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
- [cancelButton setTitle:@"Cancel" forState:UIControlStateNormal];
- if (oneDMode) {
- [cancelButton setTransform:CGAffineTransformMakeRotation(M_PI/2)];
- [cancelButton setFrame:CGRectMake(20, 175, 45, 130)];
- }
- else {
- [cancelButton setFrame:CGRectMake(95, 420, 130, 45)];
- }
-
- [cancelButton addTarget:self action:@selector(cancel:) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:cancelButton];
- }
+ self.oneDMode = isOneDModeEnabled;
+ if (isCancelEnabled) {
+ cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
+ [cancelButton setTitle:@"Cancel" forState:UIControlStateNormal];
+ if (oneDMode) {
+ [cancelButton setTransform:CGAffineTransformMakeRotation(M_PI/2)];
+ [cancelButton setFrame:CGRectMake(20, 175, 45, 130)];
+ }
+ else {
+ [cancelButton setFrame:CGRectMake(95, 420, 130, 45)];
+ }
+
+ [cancelButton addTarget:self action:@selector(cancel:) forControlEvents:UIControlEventTouchUpInside];
+ [self addSubview:cancelButton];
+ }
+ }
return self;
}
@@ -80,11 +80,11 @@ static const CGFloat kPadding = 10;
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
CGContextRef c = UIGraphicsGetCurrentContext();
-
+
CGRect cropRect = [self cropRect];
if (nil != _points) {
-// [imageView.image drawAtPoint:cropRect.origin];
+ // [imageView.image drawAtPoint:cropRect.origin];
}
CGFloat white[4] = {1.0f, 1.0f, 1.0f, 1.0f};
@@ -92,7 +92,7 @@ static const CGFloat kPadding = 10;
CGContextSetFillColor(c, white);
[self drawRect:cropRect inContext:c];
-// CGContextSetStrokeColor(c, white);
+ // CGContextSetStrokeColor(c, white);
// CGContextSetStrokeColor(c, white);
CGContextSaveGState(c);
if (oneDMode) {
@@ -140,8 +140,8 @@ static const CGFloat kPadding = 10;
for( NSValue* value in _points ) {
CGPoint point = [value CGPointValue];
smallSquare.origin = CGPointMake(
- cropRect.origin.x + point.x - smallSquare.size.width / 2,
- cropRect.origin.y + point.y - smallSquare.size.height / 2);
+ cropRect.origin.x + point.x - smallSquare.size.width / 2,
+ cropRect.origin.y + point.y - smallSquare.size.height / 2);
[self drawRect:smallSquare inContext:c];
}
}
@@ -151,26 +151,26 @@ static const CGFloat kPadding = 10;
////////////////////////////////////////////////////////////////////////////////////////////////////
/*
-- (void) setImage:(UIImage*)image {
- if( nil == _imageView ) {
- _imageView = [[UIImageView alloc] initWithImage:image];
- _imageView.alpha = 0.5;
- } else {
- _imageView.image = image;
- }
-
- CGRect frame = _imageView.frame;
- frame.origin.x = self.cropRect.origin.x;
- frame.origin.y = self.cropRect.origin.y;
- _imageView.frame = frame;
-
- [_points release];
- _points = nil;
- self.backgroundColor = [UIColor clearColor];
-
- [self setNeedsDisplay];
-}
-*/
+ - (void) setImage:(UIImage*)image {
+ if( nil == _imageView ) {
+ _imageView = [[UIImageView alloc] initWithImage:image];
+ _imageView.alpha = 0.5;
+ } else {
+ _imageView.image = image;
+ }
+
+ CGRect frame = _imageView.frame;
+ frame.origin.x = self.cropRect.origin.x;
+ frame.origin.y = self.cropRect.origin.y;
+ _imageView.frame = frame;
+
+ [_points release];
+ _points = nil;
+ self.backgroundColor = [UIColor clearColor];
+
+ [self setNeedsDisplay];
+ }
+ */
////////////////////////////////////////////////////////////////////////////////////////////////////
- (UIImage*) image {
diff --git a/iphone/ZXingWidget/Classes/ZXingWidgetController.h b/iphone/ZXingWidget/Classes/ZXingWidgetController.h
index 252d4aa..522cfb6 100755
--- a/iphone/ZXingWidget/Classes/ZXingWidgetController.h
+++ b/iphone/ZXingWidget/Classes/ZXingWidgetController.h
@@ -22,8 +22,10 @@
@protocol ZXingDelegate;
- at interface ZXingWidgetController : UIImagePickerController <DecoderDelegate, CancelDelegate> {
+//@interface ZXingWidgetController : UIImagePickerController <DecoderDelegate, CancelDelegate> {
+ at interface ZXingWidgetController : UIViewController<DecoderDelegate, CancelDelegate, UIImagePickerControllerDelegate,UINavigationControllerDelegate> {
ParsedResult *result;
+ UIImagePickerController *imagePicker;
NSArray *actions;
OverlayView *overlayView;
SystemSoundID beepSound;
@@ -43,6 +45,7 @@
- (id)initWithDelegate:(id<ZXingDelegate>)delegate showCancel:(BOOL)shouldShowCancel OneDMode:(BOOL)shouldUseoOneDMode;
- (BOOL)fixedFocus;
+- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
@end
@protocol ZXingDelegate
diff --git a/iphone/ZXingWidget/Classes/ZXingWidgetController.m b/iphone/ZXingWidget/Classes/ZXingWidgetController.m
index 672d376..49ac8ca 100755
--- a/iphone/ZXingWidget/Classes/ZXingWidgetController.m
+++ b/iphone/ZXingWidget/Classes/ZXingWidgetController.m
@@ -34,6 +34,8 @@ CGImageRef UIGetScreenImage(void);
@property BOOL showCancel;
@property BOOL oneDMode;
+ at property (nonatomic, retain) UIImagePickerController* imagePicker;
+
@end
@@ -44,33 +46,50 @@ CGImageRef UIGetScreenImage(void);
@synthesize result, actions, delegate, soundToPlay;
@synthesize overlayView;
@synthesize oneDMode, showCancel;
+ at synthesize imagePicker;
+
+
+-(void)loadImagePicker {
+ if (self.imagePicker)
+ {
+ [imagePicker release];
+ imagePicker = nil;
+ }
+ UIImagePickerController* imController = [[UIImagePickerController alloc] init];
+ self.imagePicker = imController;
+ imagePicker.delegate = self;
+ [imController release];
+ imagePicker.wantsFullScreenLayout = YES;
+ if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
+ imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
+ float zoomFactor = CAMERA_SCALAR;
+ if ([self fixedFocus]) {
+ zoomFactor *= 2.0;
+ }
+ if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
+ imagePicker.cameraViewTransform = CGAffineTransformScale(
+ imagePicker.cameraViewTransform, zoomFactor, zoomFactor);
+ if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
+ {
+ imagePicker.showsCameraControls = NO;
+ imagePicker.cameraOverlayView = overlayView;
+ imagePicker.allowsEditing = NO;
+ }
+}
- (id)initWithDelegate:(id<ZXingDelegate>)scanDelegate showCancel:(BOOL)shouldShowCancel OneDMode:(BOOL)shouldUseoOneDMode {
if (self = [super init]) {
[self setDelegate:scanDelegate];
self.oneDMode = shouldUseoOneDMode;
self.showCancel = shouldShowCancel;
- beepSound = -1;
self.wantsFullScreenLayout = YES;
- if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
- self.sourceType = UIImagePickerControllerSourceTypeCamera;
- float zoomFactor = CAMERA_SCALAR;
- if ([self fixedFocus]) {
- zoomFactor *= 2.0;
- }
- if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
- self.cameraViewTransform = CGAffineTransformScale(
- self.cameraViewTransform, zoomFactor, zoomFactor);
- overlayView = [OverlayView alloc];
- [overlayView setOneDMode:oneDMode];
- overlayView = [overlayView initWithCancelEnabled:showCancel frame:[UIScreen mainScreen].bounds];
- [overlayView setDelegate:self];
- if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
- {
- self.showsCameraControls = NO;
- self.cameraOverlayView = overlayView;
- self.allowsEditing = NO; // [[NSUserDefaults standardUserDefaults] boolForKey:@"allowEditing"];
- }
+ beepSound = -1;
+ OverlayView *theOverLayView = [[OverlayView alloc] initWithFrame:[UIScreen mainScreen].bounds
+ cancelEnabled:showCancel
+ oneDMode:oneDMode];
+ [theOverLayView setDelegate:self];
+ self.overlayView = theOverLayView;
+ [theOverLayView release];
}
return self;
@@ -80,13 +99,15 @@ CGImageRef UIGetScreenImage(void);
if (beepSound != -1) {
AudioServicesDisposeSystemSoundID(beepSound);
}
- self.cameraOverlayView = nil;
+ imagePicker.cameraOverlayView = nil;
+ [imagePicker release];
[overlayView release];
[super dealloc];
}
- (void)cancelled {
NSLog(@"cancelled called in ZXingWidgetController");
+ [[UIApplication sharedApplication] setStatusBarHidden:NO];
wasCancelled = true;
if (delegate != nil) {
[delegate cancelled];
@@ -112,6 +133,8 @@ CGImageRef UIGetScreenImage(void);
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
+ self.wantsFullScreenLayout = YES;
+ //[[UIApplication sharedApplication] setStatusBarHidden:YES];
if ([self soundToPlay] != nil) {
OSStatus error = AudioServicesCreateSystemSoundID((CFURLRef)[self soundToPlay], &beepSound);
if (error != kAudioServicesNoError) {
@@ -121,16 +144,32 @@ CGImageRef UIGetScreenImage(void);
}
- (void)viewDidAppear:(BOOL)animated {
+ NSLog(@"View did appear");
[super viewDidAppear:animated];
+ [[UIApplication sharedApplication] setStatusBarHidden:YES];
+ //self.wantsFullScreenLayout = YES;
+ [self loadImagePicker];
+ self.view = imagePicker.view;
+
[overlayView setPoints:nil];
wasCancelled = false;
- [NSTimer scheduledTimerWithTimeInterval: FIRST_TAKE_DELAY
- target: self
- selector: @selector(takePicture:)
- userInfo: nil
- repeats: NO];
+ if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
+
+ [NSTimer scheduledTimerWithTimeInterval: FIRST_TAKE_DELAY
+ target: self
+ selector: @selector(takePicture:)
+ userInfo: nil
+ repeats: NO];
+ }
+}
+
+- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
+ //self.wantsFullScreenLayout = NO;
+ [UIApplication sharedApplication].statusBarHidden = NO;
+ [self cancelled];
}
+
- (CGImageRef)CGImageRotated90:(CGImageRef)imgRef
{
CGFloat angleInRadians = -90 * (M_PI / 180);
diff --git a/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj b/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
index 3fea652..8c0bc72 100644
--- a/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
+++ b/iphone/ZXingWidget/ZXingWidget.xcodeproj/project.pbxproj
@@ -1111,7 +1111,7 @@
);
PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO;
PRODUCT_NAME = ZXingWidget;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphonesimulator3.0;
SEPARATE_STRIP = NO;
SKIP_INSTALL = YES;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
@@ -1130,36 +1130,38 @@
HEADER_SEARCH_PATHS = ../../cpp/core/src;
INSTALL_PATH = /usr/local/lib;
PRODUCT_NAME = ZXingWidget;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphonesimulator3.0;
};
name = Release;
};
1DEB922308733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphoneos3.1;
};
name = Debug;
};
1DEB922408733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)";
GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
- SDKROOT = iphoneos3.1.3;
+ SDKROOT = iphoneos3.1;
};
name = Release;
};
--
Multi-format 1D/2D barcode image processing library
More information about the Pkg-google-commits
mailing list