Zbar Barcode Scanner compile error with PhoneGap

569 views Asked by At

I'm having a problem getting my PhoneGap 3.2.0 app to compile on Mac when the Zbar barcode scanner plugin is implemented. It will compile within XCode if I deploy to the device, but to a simulated device, it gives the error:

Ld DerivedData/MYAPP/Build/Products/Debug-iphonesimulator/MYAPP.app/MYAPP normal i386 cd /Users/Cordova/MyApp/platforms/ios setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -L/Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Products/Debug-iphonesimulator -L/Users/Cordova/MyApp/platforms/ios/ZBarSDK -L/Users/Cordova/MyApp/platforms/ios/MYAPP/Plugins/com.manateeworks.barcodescanner/MWBarcodeScanner -F/Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Products/Debug-iphonesimulator -filelist /Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Intermediates/MYAPP.build/Debug-iphonesimulator/MYAPP.build/Objects-normal/i386/MYAPP.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Products/Debug-iphonesimulator/libCordova.a -ObjC -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.0 -framework AssetsLibrary -framework CoreGraphics -framework MobileCoreServices -framework CoreLocation -weak_framework ImageIO -framework CoreMotion -weak_framework AudioToolbox -weak_framework SystemConfiguration -framework Foundation -framework UIKit -framework AVFoundation -framework CoreMedia -framework CoreVideo -framework QuartzCore -liconv -lzbar -Xlinker -dependency_info -Xlinker /Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Intermediates/MYAPP.build/Debug-iphonesimulator/MYAPP.build/Objects-normal/i386/MYAPP_dependency_info.dat -o /Users/Cordova/MyApp/platforms/ios/DerivedData/MYAPP/Build/Products/Debug-iphonesimulator/MYAPP.app/MYAPP

ld: warning: ignoring file /Users/Cordova/MyApp/platforms/ios/ZBarSDK/libzbar.a, missing required architecture i386 in file /Users/Cordova/MyApp/platforms/ios/ZBarSDK/libzbar.a (3 slices) Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ZBarReaderViewController", referenced from: objc-class-ref in ZbarcodeScanner.o "_ZBarReaderControllerResults", referenced from: -[ZbarcodeScanner imagePickerController:didFinishPickingMediaWithInfo:] in ZbarcodeScanner.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

While I don't actually want or need the simulated devices; the problem is that from the terminal, when I run the command:

$ cordova build ios

it throws up the error:

Error: An error occurred while building the ios project.

** BUILD FAILED **

The following build commands failed:

   Ld build/emulator/MyApp.app/MyApp normal i386

(1 failure)

If I try to type the command shown in the error on its own, it tells me:

ld: file not found: build/emulator/MyApp.app/MyApp

Which is true. It doesn't exist. I presume that something else is failing before this and stopping it from getting created.

If I remove Zbar all together, it everything works fine.

A previous version of the app I had made was way back at PhoneGap v2.5.0 and wasn't using the command-line-interface to create the build. I had put it all together manually, so it wasn't giving me this issue.

I've tried a lot of things already in the Build Settings / Build Phases sections. I've been at this for 2 weeks now, and it seems that everything I try just leads to new error messages. Please help!

1

There are 1 answers

0
David Welsh On BEST ANSWER

I solved this! I downgraded the version of ZBar to the pervious version and it worked right away. I had some version in my project that apparently had ios7 fixes. Not sure what the exact cause of the issue was in the end mind you.