ZBarSDK支持armv7s

In this moment the great qr/bar code reader library ZBar (SourceForge link) don't work on iPhone 5 simply because noone has re-compiled the library for armv7, and if you try to use this lib in you armv7s ready ios project you obtain:

[xml]  view plain copy
  1. ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/rainbird/Desktop/myapp/iFileManager/iFileManager/ZBarSDK/libzbar.a for architecture armv7s  
  2. clang: error: linker command failed with exit code 1 (use -v to see invocation)  

here two solutions:
The easy and ready to cook solution: Download and include my re-compiled library (support armv6-7-7s and i386) fromHERE (note: no warranty, no support, nothing, if don't work delete it ;) )

The advanced solution: re-compile yourself the libzbar.a following this steps:

1 - Download the source code (you must have Mercurial for mac):

hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
cd zbar 
hg checkout iPhoneSDK-1.2.2 (20/03/2013 new version available? hg checkout iPhoneSDK-1.3.1)
open iphone/zbar.xcodeproj

2 - In the xcode project edit the "libzbar" scheme and select Release in Build configuration

ZBarSDK支持armv7s_第1张图片

 

3 - Compile libzbar for device AND for simulator, here the configuration:

ZBarSDK支持armv7s_第2张图片

4 - Find the compiled libzbar.a and go in the folder using Teminal.app, my folder:

/Users/kappe/Library/Developer/Xcode/DerivedData/zbar-gyozyrpbqzvslmfoadhqkwskcesd/Build/Products

In this folder you you should have two sub folder Release-iphoneos and Release-iphonesimulator

5 - using xcode command line tools build you universal lib:

lipo -create Release-iphoneos/libzbar.a Release-iphonesimulator/libzbar.a -o libzbar.a

the end ;) now you can use the libzbar.a created, both in device and simulator.

Update:

When you make "Product -> Archive" to avoid the error:

[xml]  view plain copy
  1. 'Cordova/CDVViewController.h' file not found  

add this fields:

"$(BUILT_PRODUCTS_DIR)"
"$(OBJROOT)/UninstalledProducts/include"
"$(TARGET_BUILD_DIR)/usr/local/lib/include"

 to Your taget - > Building settings -> Header search paths


转载:http://www.federicocappelli.net/2012/10/05/zbar-library-for-iphone-5-armv7s/

你可能感兴趣的:(ZBarSDK支持armv7s)