FirebaseCrashlytics and FirebaseAnalytics pod installation is failing - ios

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.

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.

Something with linking... Looks like the wrong podfile configuration. Make sure that you add target pods to the needed App target correctly.

Related

iOS Unity Firebase Messenger Xcode Compile Error: FIRDynamicLinks

Building with Unity 2018.4.2 - Xcode 10.2 - Latest iOS Targets
Firebase Latest (6.1.1) for Unity with .Net 4
For Firebase We are using the following unity packages:
- FirebaseMessaging.unitypackage
- FirebaseAnalytics.unitypackage
Get the following Build Error in Xcode:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FIRDynamicLinks", referenced from:
objc-class-ref in libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
On another Machine same error however armv7 target:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_FIRDynamicLinks", referenced from:
objc-class-ref in libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Tested Solutions (no solution yet):
Obj-C to frameworks (was already there)
Updated Cocoa Pods to Latest
Deleted Developer/Xcode/DerivedData
Updated Cocoa Pods and deleted caches
The strangest thing is this only started happening on Monday, previously was working, nothing else was changed, so this leads to believe this is Google changed something in their Cocoa pods library which is linking agains't another package which is not included now.
Problem does not occur in the same Android Variant of the Project.
Solution:
It now requires you to also include and install Firebase: DynamicLinks in order to compile for iOS.
FirebaseDynamicLinks.unitypackage
So install the following package into your unity project from the download of Firebase Unity.

Firebase iOS sdk error __gxx_personality_v0 not found

I'm installing the Firebase Auth SDK manually, rather than using cocoapods, and I'm getting this weird error:
Undefined symbols for architecture x86_64:
"___gxx_personality_v0", referenced from:
+[FIRHash calculatedFingerprintForString:] in FirebaseCore(FIRHash_11b6df6535f55516149376a0824d22ab.o)
ld: symbol(s) not found for architecture x86_64
I installed all the resources the Auth framework depends on, so I'm not sure why this is happening. The documentation doesn't mention installing anything else. Any idea how to get this going?
The xcode build is not linking the C++ libraries.
Add the "-lc++" to Other Linker Flags

XCODE, building for iOS - undefined symbols for architecture armv7

looks like I am not the first, who is asking about this issue but I need to try. Does anybody encountered this problem?
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_GSDK_GTMSessionFetcher", referenced from:
objc-class-ref in gpg(GPGClearcutLogger.o)
"_OBJC_CLASS_$_GSDK_GTMSessionFetcherService", referenced from:
objc-class-ref in gpg(GIPNetworkImage.o)
"_GTMMethodCheckMethodChecker", referenced from:
+[NSDictionary(GTMNSDictionaryURLArgumentsAdditions) xxGTMMethodCheckMethodNSString32] in libGoogleToolboxForMac.a(GTMNSDictionary+URLArguments.o)
+[NSDictionary(GTMNSDictionaryURLArgumentsAdditions) xxGTMMethodCheckMethodNSString33] in libGoogleToolboxForMac.a(GTMNSDictionary+URLArguments.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
It looks like, some Google Play dependency is causing it, if I got it right. I tried to switch some values in XCODE recommended in other threads with similar issue. Namely build settings -> architectures, valid architectures, supported platforms, base sdk, active architecture only. Also no changes, still the same error during linking. cocoapods are installed
I use XCODe 8.1.
Any suggestions?
I managed to solve it by myself. The key is to edit the pod file like this (tested with the unity 5.3.6f1, GPG games plugin 0.9.34 and xcode 8.1):
platform :ios, '8.0'
target 'Unity-iPhone' do
pod 'GooglePlayGames', '5.1'
end
then you need to run pod install and it works!

"Undefined symbols for architecture x86_64:" Error with Branch.io

I'm attempting to use the Branch.io iOS SDK in my iOS app, and I'm getting the following error when I try to compile:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_CSSearchableIndex", referenced from:
objc-class-ref in BranchCSSearchableItemAttributeSet.o "_OBJC_CLASS_$_CSSearchableItem", referenced from:
objc-class-ref in BranchCSSearchableItemAttributeSet.o "_OBJC_CLASS_$_CSSearchableItemAttributeSet", referenced from:
_OBJC_CLASS_$_BranchCSSearchableItemAttributeSet in BranchCSSearchableItemAttributeSet.o
"_OBJC_METACLASS_$_CSSearchableItemAttributeSet", referenced from:
_OBJC_METACLASS_$_BranchCSSearchableItemAttributeSet in BranchCSSearchableItemAttributeSet.o ld: symbol(s) not found for
architecture x86_64 clang: error: linker command failed with exit code
1 (use -v to see invocation)
As the tutorial described, I have the Branch-SDK folder correctly added to the project, I configured the PLST, and added all the code in the AppDelegate.m. I skipped step 3 for enabling universal links, because I won't need that yet.
What am I missing that could be causing this? For this sort of error with other frameworks, it tends to be caused by incorrect declaration of the class, but I don't see where I'm doing that incorrectly.
For me within the Podfile uncommenting the following line and rerunning the installation resolved this kind of issues in XCode:
use_frameworks!
And do a
pod install
And try cleaning and running the app in XCode once again and it should work.
It worked for me.

Linker error when building Login Demo

I'm getting this error when I try to build the iOS Login Demo from https://github.com/firebase/login-demo-ios:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Firebase", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have updated the project Podfile to use Firebase 2.4.1 and updated the target to iOS 8.4 and am using XCode 7.0.1. How do I fix this?
I created an issue on Github per #Frank van Puffelen's recommendation, and got this response (https://github.com/firebase/login-demo-ios/issues/15):
This is due to a broken release for Firebase on CocoaPods. We're working on a fix for that. As a workaround until we release that you can point to 2.3.3 in the Podfile.
I imagine this would break any project pulling Firebase 2.4 from CocoaPods.

Resources