FIRAuth files not compatible with FirebaseUI: use of undeclared identifier 'FIRAuthErrorUserInfoUpdatedCredentialKey' - swift

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.

Related

'GoogleSignIn' Pod cannot be installed

I am currently trying to install the GoogleSignIn pod to my app. Following the official directions from google, I should put in pod 'GoogleSignIn' to install it, but apparently it doesn't recognise this. I have also used the GoogleMaps and GooglePlaces pods and they have been working fine, so I was wondering what's wrong with the signin pod??
pod 'GoogleSignIn'
[!] Unknown command: GoogleSignIn
Did you mean: init?
From the instructions, that line should be in the Podfile:
Open the Podfile created for your application and add the following:
pod 'GoogleSignIn'
As indicated, then run pod install

Use of Undeclared Type GMSPlacesField GoogleMaps SDK Swift

Using the GooglePlaces Autocomplete UI I'm getting a error Use of undeclared type 'GMSPlacefield'.
I've search here
GMSPlaceField Error when building - Swift 4.2
I've tried updating the pod file I'm using google places 3.1.0 and google maps 3.1.0. I've restarted clean build.
I think the code is good code because it's used in multiple places on the google documentation.
https://woolpert-googlecloud.github.io/maps-platform-best-practices/docs/place-details-fields.html
The specific line of code that is failing is
let fields: GMSPlaceField = GMSPlaceField(rawValue:
UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))!
The compiler indicates the use of undeclared type 'GMSPlaceField'
When attempting to update the Pod file. I got the report out
Performing CocoaPods Installation
Installing GoogleMaps (3.1.0)
Installing GooglePlaces (3.1.0)
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
But this wasn't true upon revivification it indicated I was still at 2.7.0.
I updated the pod file to specifically call out the most recent pod file
pod 'GooglePlaces', '~> 3.1'
pod ‘GoogleMaps’, '~> 3.1'
and this worked and resolved the issue.

Swift - cocoapod circular slider

I am trying to use CircularSlider in my app.
I found the following two module
https://github.com/taglia3/CircularSlider
https://cocoapods.org/pods/HGCircularSlider
This is what I did
$pod init
and this is my pod file
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'Dr.FOOD' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for Dr.FOOD
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'HGCircularSlider', '~> 1.0.3'
pod 'CircularSlider'
end
and then, what I did
$ pod install
Analyzing dependencies
Downloading dependencies
Using CircularSlider (1.1.2)
Using Firebase (3.11.0)
Using FirebaseAnalytics (3.6.0)
Using FirebaseCore (3.4.6)
Using FirebaseDatabase (3.1.1)
Using FirebaseInstanceID (1.0.8)
Using GoogleInterchangeUtilities (1.2.2)
Using GoogleSymbolUtilities (1.1.2)
Using GoogleToolboxForMac (2.1.1)
Using HGCircularSlider (1.0.3)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `Dr.FOOD.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There are 5 dependencies from the Podfile and 10 total pods installed.
I'm using the .xcworkspace but it still says
"No such module 'HGCircularSlider'" in my code.
Did I do anything wrong?
Here is what I do when I add a new pod, in addition to what you did already.
Open the workspace file, go to the project settings page:
Scroll down and you'll see this:
Click on the + button and add all the frameworks you wish.
Command + B to build the project.
Now import the modules

cocoapods Google Mobile ads does not generate .xcworkspace file

I am exporting a project from Unity3d to xcode that uses the last GoogleMobileAds package.
I have installed and updated cocoapods and also have the famous podfile containing de following lines:
source 'https://github.com/CocoaPods/Specs.git'
install! 'cocoapods', :integrate_targets => false
platform :ios, ‘8.0’
target ‘MyProject’ do
pod 'Google-Mobile-Ads-SDK', '~> 7.14’
pod 'Firebase/Core'
pod 'Firebase/AdMob'
end
and I run
pod install
and
pod update
successfully
dependancies are downloaded alright, as you can see the results below:
Updating local specs repositories
CocoaPods 1.2.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.2.0.beta.1
Analyzing dependencies
Downloading dependencies
Using Firebase (3.9.0)
Using FirebaseAnalytics (3.5.1)
Using FirebaseCore (3.4.4)
Using FirebaseInstanceID (1.0.8)
Installing Google-Mobile-Ads-SDK (7.14.0)
Using GoogleInterchangeUtilities (1.2.2)
Using GoogleSymbolUtilities (1.1.2)
Using GoogleToolboxForMac (2.1.0)
Generating Pods project
Skipping User Project Integration
Sending stats
Pod installation complete! There are 3 dependencies from the Podfile and 8 total pods installed.
According to both cocoapods and google mobile ads documentation, I will need to continue with "MyProject.xcworkspace" but the file is nowhere to be found.
any suggestions?
When using install! 'cocoapods', :integrate_targets => false Cocoapods will not create an xcworkspace for you.
That's the intended behaviour. You'll even notice this if you follow the command prompt. This line is telling you that no integration is taking place.
Skipping User Project Integration
If you want to get an xcworkspace just remove :integrate_targets => false
It seems the problem comes from editing the Podfile using TextEdit.
As it warns you that you should not continue using TextEdit, one could falsely suppose that the program is intelligent enough to understand and correct these unwanted modifications.
This is the solution I have found:
delete the Podfile and Podfile.lock from your working directory
create a new Podfile using pod init
install SublimeText and use it to open the Podfile
add the necessary pods for the project
(I also included the line "use_frameworks!" although it may not be
needed.)
run "pod install" and "pod update"; this time I get
[!] Please close any current Xcode sessions and use Orbit.xcworkspace for this project from now on.
and the file is now available in project directory
You was used this guide for install pod?
In addition to Radu Dita's message. If you do not want that line to be added (so you do not need to delete it later), you need to disable cocoapods integration in "iOS Resolver Settings" by selecting "None", build project and then enable it back "Xcode Workspace". I found this with try and error. I hope my message will save save someone's time

Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'

Yesterday I updated Xcode to Version 7.3 (7D175) and suddenly my apps is not building any more. My dead line is near and I can't build the apps :-(
I tried to change Build Settings to:
allow non-modular includes in framework modules = yes
enable modules = no
My pod file:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
use_frameworks!
#Parse, Facebook, Twitter
pod 'Parse'
pod 'ParseUI'
pod 'ParseFacebookUtilsV4'
pod 'ParseTwitterUtils'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
installed cocoapods-0.39.0
Analyzing dependencies
Downloading dependencies
Using Bolts (1.6.0)
Using FBSDKCoreKit (4.10.1)
Using FBSDKLoginKit (4.10.1)
Using FBSDKShareKit (4.10.1)
Using Parse (1.13.0)
Using ParseFacebookUtilsV4 (1.11.1)
Using ParseTwitterUtils (1.10.0)
Using ParseUI (1.2.0)
What should I do to solve this issue?
I changed back app build settings to:
allow non-modular includes in framework modules = no
enable modules = yes
And I changed the Pods > ParseFacebookUtilsV4 as follow in the image below and everything is fine again. I hope that can help you too.
See the screen-shot
It worked for me!