I just recently updated my podfile and added two entries pod 'Firebase/Storage'
and pod 'FirebaseUI/Storage'
. When I added these two entries, when I open up my project in Xcode, the build fails, and I get the following error:
Use of undeclared identifier 'FIRAuthErrorUserInfoUpdatedCredentialKey'; did you mean 'FIRAuthUpdatedCredentialKey'?
Replace 'FIRAuthErrorUserInfoUpdatedCredentialKey' with 'FIRAuthUpdatedCredentialKey'
This error is found in FUIAuth.m. Looking at the GitHub project for FirebaseAuth, I see the the FIRAuthErrorUserInfoUpdatedCredentialKey
is supposed to be defined in the FIRAuthErrors.h file (https://github.com/firebase/firebase-ios-sdk/blob/master/Firebase/Auth/Source/Public/FIRAuthErrors.h), but the file that I have currently is not the same as the one in the GitHub project. I'm not exactly sure how I should be setting up my podfile to correctly make these pods work together.
Here's the contents of my podfile:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'AppName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for ChurchSearch
pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'Firebase/Auth'
pod 'Firebase/Storage'
pod 'FirebaseUI/Storage'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Facebook'
pod 'FirebaseUI/Twitter'
pod ‘Geofirestore'
target 'AppNameTests' do
inherit! :search_paths
# Pods for testing
end
end
Then here's what I was getting on the terminal:
Analyzing dependencies
Downloading dependencies
Using Bolts (1.9.0)
Using BoringSSL-GRPC (0.0.3)
Using FBSDKCoreKit (4.44.1)
Using FBSDKLoginKit (4.44.1)
Using Firebase (5.4.1)
Using FirebaseAnalytics (5.0.1)
Using FirebaseAuth (5.0.2)
Using FirebaseCore (5.0.6)
Using FirebaseDatabase (5.0.2)
Using FirebaseFirestore (0.12.6)
Using FirebaseInstanceID (3.1.1)
Using FirebaseStorage (3.0.0)
Using FirebaseUI (6.2.1)
Using GTMSessionFetcher (1.2.1)
Using GeoFire (3.0.0)
Using Geofirestore (0.1.0)
Using GoogleSignIn (4.4.0)
Using GoogleToolboxForMac (2.2.0)
Using GoogleUtilities (5.8.0)
Using Protobuf (3.7.0)
Using TwitterCore (3.2.0)
Using TwitterKit (3.4.2)
Using gRPC (1.20.0)
Using gRPC-Core (1.20.0)
Using gRPC-ProtoRPC (1.20.0)
Using gRPC-RxLibrary (1.20.0)
Using leveldb-library (1.20)
Using nanopb (0.3.901)
Generating Pods project
Integrating client project
Sending stats
I also tried cleaning and removing the pods and reinstalling, but that didn't change anything. I did run a pod repo update
as well at one point, I don't know if that would cause issues. Does anyone know what I'm doing wrong, or how I can make these work properly?
I finally got this working. I think my actual issue was that, after a pod repo update
, FirebaseUI got updated to 6.2.1, from 5.2.2. For some reason, cocoapods thinks that FirebaseUI 6.2.1 is compatible with FirebaseAuth 5.2.0. These are NOT compatible. You'll get the above error if you try to use those two libraries together. So I deleted my podfile.lock, and ran pod deintegrate
one more time to clear everything. Then I added pod FirebaseUI, '5.2.2'
to my podfile, ran pod install
, and it worked!
I additionally updated my cocoapods from 1.5.3 to 1.6.1, which may also have helped.