Firebase-ios-sdk: Xcode compile failed,Undefined symbols for architecture x86_64: "_FBLPromiseErrorDomain",

Created on 26 Mar 2020  ·  7Comments  ·  Source: firebase/firebase-ios-sdk

user zip file, not pod.
version: Firebase-6.21.0

I drag this framework:
image

as you see, I also drag PromisesObjC.framework to my project.
and FBLPromiseErrorDomain is also in file FBLPromiseError.h.
the class FBLPromise is also in PromisesObjC.framework,

but why Xcode build Error:
Undefined symbols for architecture x86_64:
"_FBLPromiseErrorDomain", referenced from:
___60-[FIRSecureStorage getObjectForKey:objectClass:accessGroup:]_block_invoke in FirebaseInstallations(FIRSecureStorage.o)
"_OBJC_CLASS_$_FBLPromise", referenced from:
objc-class-ref in FirebaseInstallations(FIRInstallationsIDController.o)
objc-class-ref in FirebaseInstallations(FIRInstallationsAPIService.o)
objc-class-ref in FirebaseInstallations(FIRInstallationsIIDStore.o)
objc-class-ref in FirebaseInstallations(FIRInstallationsIIDTokenStore.o)
objc-class-ref in FirebaseInstallations(FIRInstallationsStore.o)
objc-class-ref in FirebaseInstallations(FIRSecureStorage.o)
ld: symbol(s) not found for architecture x86_64

I am already include they in my project all.

needs-info question zip-builder

Most helpful comment

@vburojevic,

I had the same issue with Carthage, but I resolved it.

Please check if the PromisesObjc.framework is added to your project (make sure the correct target is selected). In my case it wasn't because I believe this is a new framework they've added recently. It goes without saying that "Do Not Embed" should be selected under Frameworks, Libraries and Embedded Content".

I hope this helps, let me know :)

Cheers!

All 7 comments

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

It's possible you have a mix of frameworks from different Firebase versions. I recommend removing all the Firebase frameworks from the app and reinstalling from scratch following the zip README's instructions.

@paulb777 I have the same issue on Xcode 10.4, installed via Carthage.

ld: warning: Could not find or use auto-linked framework 'FBLPromises' Undefined symbols for architecture x86_64: "_FBLPromiseErrorDomain", referenced from: ___60-[FIRSecureStorage getObjectForKey:objectClass:accessGroup:]_block_invoke in FirebaseInstallations(FIRSecureStorage.o) "_OBJC_CLASS_$_FBLPromise", referenced from: objc-class-ref in FirebaseInstallations(FIRInstallationsIDController.o) objc-class-ref in FirebaseInstallations(FIRInstallationsAPIService.o) objc-class-ref in FirebaseInstallations(FIRInstallationsIIDStore.o) objc-class-ref in FirebaseInstallations(FIRInstallationsIIDTokenStore.o) objc-class-ref in FirebaseInstallations(FIRInstallationsStore.o) objc-class-ref in FirebaseInstallations(FIRSecureStorage.o) "_OBJC_CLASS_$_FIRRemoteConfig", referenced from: objc-class-ref in RemoteConfig+extension.o objc-class-ref in FirebasePerformance(FPRRemoteConfigFlags_71b80df7b60132dc34996f1564188b0a.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

@vburojevic,

I had the same issue with Carthage, but I resolved it.

Please check if the PromisesObjc.framework is added to your project (make sure the correct target is selected). In my case it wasn't because I believe this is a new framework they've added recently. It goes without saying that "Do Not Embed" should be selected under Frameworks, Libraries and Embedded Content".

I hope this helps, let me know :)

Cheers!

thanks all~
it's my problem, my target don't add PromisesObjc.framework correct。
I am already fixed it out.

thanks all~
it's my problem, my target don't add PromisesObjc.framework correct。
I am already fixed it out.

I am facing the same issue. could you please help me out.

@run
just make all the frameworks add to project. if compile wrong, remove all frameworks and add it again.
you need to read the readme file, then you will know which framework need to add to your project.

Was this page helpful?
0 / 5 - 0 ratings