Skip to content

Issues with Firebase Pods

bensmiley edited this page Nov 25, 2017 · 3 revisions

When Apple introduced dynamic frameworks Cocoapods introduced the use_frameworks! tag to handle allow CocoaPods to build projects using this feature. However it also broke a lot of features that were working previously.

Specifically, in some cases, it stopped podspecs from being able to declare dependencies. For example, when we added the Firebase dependency to your library, the project wouldn't compile and would lead to missing header errors.

This issue is being solved slowly as the pod providers update their pods to make them compatible with dynamic frameworks but in the meantime we've had to find a workaround. There are two ways to solve this issue:

Workaround - Drag files into Xcode

If you want to use many libraries that depend on Firebase, the best option is to declare the Firebase dependencies in your Podspec and then drag in the source code files from the ChatSDKFirebaseAdapter pod. Your Podfile would look something like this:

pod "ChatSDK"
pod "Firebase/Auth"  
pod "Firebase/Database"  
pod "Firebase/Messaging"  
pod "Firebase/Storage"  

After this, you can include any dependencies you like in your Podfile. Note, that if you use any modules that depend on the ChatSDKFirebaseAdapter, you would need to also drag the code for those modules into Xcode directly.