Search code examples
iosswiftcocoapodscrashlyticsfirebase-analytics

FirebaseCrashlytics and FirebaseAnalytics pod installation is failing


In migrating my Fabric/Crashlytics SDK into FirebaseCrashlytics, I've decided to integrate cocoapods.

After adding FirebaseCrashlytics and FirebaseAnalytics into the Podfile, I am getting this error when I compile and I can't figure out why it is happening:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_GSDK_GTMLogger", referenced from:
      objc-class-ref in GoogleIPhoneUtilities(GIPReachability.o)
  "_kFirebaseCloudMessagingErrorDomain", referenced from:
      -[FIRMessaging(FIRApp) configureMessaging:] in FirebaseMessaging(FIRMessaging+FIRApp_ed2c92d2ac2b5969ab6c5684759ab5bd.o)
      -[FIRMessaging(FIRApp) exitApp:withError:] in FirebaseMessaging(FIRMessaging+FIRApp_ed2c92d2ac2b5969ab6c5684759ab5bd.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What am I missing?

EDIT: - I've fixed the second issue with FirebaseMessaging, for the life of me, I can't figure out why I'm having issues with this:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_GSDK_GTMLogger", referenced from:
      objc-class-ref in GoogleIPhoneUtilities(GIPReachability.o)

All of the Firebase Repos I'm using are currently now set up via Cocoapods.


Solution

  • It looks like the app is linking a very old copy of FirebaseMessaging and some of its dependencies with recent versions of Analytics and Crashlytics.

    Since Firebase libraries share dependencies, it is not likely to work to mix incompatible versions or installation methods.