赞
踩
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:
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 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 haveMercurialfor mac):
hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar cd zbar hg checkout iPhoneSDK-1.2.2 open iphone/zbar.xcodeproj
2 - In the xcode project edit the "libzbar" scheme and select Release in Build configuration
3 - Compile libzbar for device AND for simulator, here the configuration:
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 folderRelease-iphoneosandRelease-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 endnow you can use the libzbar.a created, both in device and simulator.
Update:
When you make "Product -> Archive" to avoid the error:
'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/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。