Search code examples
cordova-pluginsmicroblinkblinkid

Symbols not found for Armv7 and Arm64 in MicroBlink framework


I'm getting the following error when building my project in Xcode 10.1 (I have to use this old version at work).

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_MBDocumentOverlayViewController", referenced from:
      objc-class-ref in BlinkIdPlugin.o
  "_OBJC_CLASS_$_MBMrtdRecognizer", referenced from:
      objc-class-ref in BlinkIdPlugin.o
  "_OBJC_CLASS_$_MBViewControllerFactory", referenced from:
      objc-class-ref in BlinkIdPlugin.o
  "_OBJC_CLASS_$_MBRecognizerCollection", referenced from:
      objc-class-ref in BlinkIdPlugin.o
  "_OBJC_CLASS_$_MBDocumentOverlaySettings", referenced from:
      objc-class-ref in BlinkIdPlugin.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'm getting the .framework and .bundle from the blinkid-ios sample in MicroBlink's github repository. I tried git-lfs pullbut nothing happened which leads me to believe that all lfs files were pulled(?). I'm also using cordova 7.1.0 (I also have to use this old version at work).

Any help appreciated.


Solution

  • For anyone encountering a similar issue in the future - this specific issue was caused by the change in the case in the name - MicroBlink was renamed to Microblink. Even though git-lfs pulled the files, Cordova couldn't see the actual framework.

    Disclaimer: I work for the Microblink team that's behind the BlinkID library in question.