Take the 2-minute tour ×

I have updated my x code version from 5.0 to 5.1
I have used ZBarSDK in my protect for scan bar code. In simulator 'iPhone Retina (3.5-inch)' and 'iPhone Retina(4-inch)', it is working fine. But when i want to build with simulator 'iPhone Retina (4-inch 64-bit)', it is giving the following error.

ld: warning: ignoring file /Users/sayan/Desktop/ProjectAtanu/Omlis/Custom Classes/ZBarSDK/libzbar.a, missing required architecture x86_64 in file /Users/sayan/Desktop/ProjectAtanu/Omlis/Custom Classes/ZBarSDK/libzbar.a (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_ZBarReaderViewController", referenced from:
 objc-class-ref in HomeViewController.o
"_ZBarReaderControllerResults", referenced from:
-[HomeViewController imagePickerController:didFinishPickingMediaWithInfo:] in  HomeViewController.o
ld: symbol(s) not found for architecture x86_64

Architecture: Standard architecture(arm64, armv7, armv7s) - $(ARCHS_STANDARD)
Valid Architectures: arm64,armv7,armv7s
Base SDK: Latest IOS(IOS 7.1)
iOS Deployment Target: iOS 6.1

Any help much appreciated!

share|improve this question
did you solved this??? –  NullData Sep 12 at 3:41

3 Answers 3

Recompile ZBar for iphone 5. You can download recompiled ZBAR from here to skip the following


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

  2. Open Terminal and run following commands

    a. hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar

    b. cd zbar

    c. hg checkout iPhoneSDK-1.3.1

    d. open iphone/zbar.xcodeproj

  3. In the xcode project edit the "libzbar" scheme and select Release in Build configuration

  4. Go to Build Settings set following Architectures

    a. Architectures - >Standard architectures(armv7,armv72,arm64)

    b. Valid Architectures -> arm64,armv7 armv7s

  5. Compile libzbar for device AND for simulator, here the configuration:

  6. Find the compiled libzbar.a and go in the folder using Teminal.app,

    In My Case : /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

  7. using xcode command line tools build your universal lib:

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

    Now you can use the libzbar.a created, both in device and simulator.

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

share|improve this answer
thanks but ... why not just share the result and save us the trouble? its not like the license won't allow it –  user1259710 Oct 13 at 16:15

This implies the library is not supported/built for the new archtitecture.

For zBar this answer has link to tutorial where you can download the source and just update the lib to new architecture.

Generally for a third party service. they will release new lib with the architecture added so make sure to check out their site for updated SDK.

share|improve this answer
Thanks Kabira for your suggestion. –  Atanu Mondal Mar 24 at 10:34

If your project is using CocoaPods, the easiest way to rebuild ZBar from source is to add it to your Podfile. See http://cocoapods.org/?q=zbar.

share|improve this answer
You might want to expand this answer out a bit... –  Alex K Nov 5 at 20:24

Your Answer


