Getting framework(MLVision/MLVisionTextModel) not

2019-08-18 03:41发布

问题:

I am working on integration firebase ML vision kit without using the cocoa pods:


I am getting below error when adding SDK frameworks(MLVision and MLVisionTextModel) in app :

ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Point 1:


My steps as I followed in app to integrate these SDK's framework :

A. Downloaded firebase SDK 5.20.2.


B. Followed the steps as defined inside the Readme.md file.


First, I added all framework from 'Analytics' directory into project navigator pane and do same thing for Firebase.h file.
Added the -ObjC flag to "Other Linker Settings
In AppDelegate.m , I add #import "Firebase.h" and [FIRApp configure];.

Project build successfully without any error.

C. Getting issue : For text recognition, I added MLVision and MLVisionTextModel in app as defined the step 5 in Readme.md for require framework and resource.


When I build this project I am getting below error in app:

I am getting below error as

Undefined symbols for architecture x86_64:
"std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from: l59875 in TextDetector
"typeinfo for std::__1::basic_iostream<char, std::__1::char_traits<char> >", referenced from: l59875 in TextDetector 
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Point 2: Getting issue

Sometimes I was trying same thing adding SDK's framework by 'Link Binaries With Libraries' in Build Phases for Analytics, MLVision and MLVisionTextModel.

I was getting below error as

ld: framework not found FirebaseMLVisionTextModel
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Note: The framework FirebaseMLVisionTextModel doesn't have FirebaseMLVisionTextModel.h file. It doesn't exist header folder which is missing in FirebaseMLVisionTextModel framework:
 I am getting same issue for TextDetector.framework which doesn't have any header folder.

Firebase.h : Deceleration file in Firebase.h which is missing in framework:

#if __has_include(<FirebaseMLVisionTextModel/FirebaseMLVisionTextModel.h>)
#import <FirebaseMLVisionTextModel/FirebaseMLVisionTextModel.h>
#endif
  • Xcode version: 10.1
  • Firebase SDK version: 5.20.2
  • Firebase Component: ML Kit (text recognition)
  • Component version:

Pls suggest how do I fix this problem.

How do I use FirebaseMLVisionTextModel and TextDetector framework that doesn't have any header , these frameworks have only exec file?

回答1:

From https://github.com/firebase/firebase-ios-sdk/issues/2843:

The system C++ libraries are not being linked. That can happen with an incorrect Xcode module cache. Do rm -rf ~/Library/Developer/Xcode/DerivedData to reset. If that doesn't work, add libc++ to the Link Binary With Libraries Build Phase: