I have an old Objective-C project that contains Firebase/Core and Firebase/Messaging. I have to upgrade all those librairies and add other Firebase products. In the documentation there is no mention of the versions only the libraries name like this pod 'Firebase/Messaging'. Even if I try a pod install remove the libraries names from the PodFile make pod install to remove them, then re-add them in the PodFile and make pod install I find in the PodFile.lock that the installed versions are not the last ones.
How is it possible to upgrade Firebase libraries installed by CocoaPods in order to get the last versions on an Objective-C project ?
The min iOS deployement target is: 8.0
Use pod update instead of pod install to get the latest versions. If you're still not getting latest versions, examine the Podfile.lock file to see what dependencies restrict the version.
When I try to update my Firebase through cocoapods, Always its updating to 3.17.0 version - which is old. As per firebase docs, 6.4.0 is the latest version for iOS. Why i am not able to update to latest.
I have tried multiple ways to resolve this. But no luck.
FireBase Cocoa Pods Installation Not Working
FireBase Cocoa Pods Installation Not Working
platform :ios, '10.0'
use_frameworks!
target 'the-name-of-target' do
pod 'Firebase'
end
I should be able to update to latest firebase framework.
Edit: Solved with workaround.
Google Signin framework having the dependency. As work around removed google sigenin pod & added as framework. Now i am able to update to latest the firebase to latest. Thanks.
Try to clear pods cache and reinstall CocoaPods
Have you tried updating pods?
command for update all pods
pod update
for specific pod
pod update POD_NAME
Examine the generated Podfile.lock to see which dependency forces Firebase's version to 3.x.
My ios app was working fine until I ran "pod install" and updated all of my pods. I'm now getting an error when trying to build in Xcode.
FBSDKLoginKit/FBSDKLoginManagerLoginResult.m:43:25: No known class method for selector 'dictionary:setObject:forKey:'
Here are the FB pod versions used:
Installing FBSDKCoreKit (5.0.0)
Installing FBSDKLoginKit (4.44.1)
Those are not specified in my podfile. I think they're installed as part of FirebaseAuth which is in my podfile.
How can I resolve this?
Add pod 'FBSDKCoreKit', '~> 4.44' to the Podfile.
There's a bug in the 4.x versions of FBSDKLoginKit. Its podspec allow major version updates to its FBSDKCoreKit dependency, but the code doesn't comply.
There's no FBSDKCoreKit version specified in the 4.44.1 version like there is in the 5.0.0 version.
The suggested Podfile change is a workaround for the podspec problem.
The current version of FirebaseUI requires version 4.x of FBSDKLoginKit.
In my case, I had to also fix the version of Firebase/Core, like following.
pod 'FBSDKCoreKit', '~> 4.35'
pod 'FBSDKLoginKit', '~> 4.35'
pod 'Firebase/Core', '~> 5.20'
Additionally information
The above case is that you have FirebaseUI/Twitter for Twitter login, which is using TwitterKit internally. But TwitterKit is finished to support. So if you have already used FirebaseUI/Twitter, the following should be used
pod 'FirebaseUI/OAuth'
instead of the below.
pod 'FirebaseUI/Twitter'
At the result, we can use the latest & stable FBSDKCoreKit, FBSDKLoginKit and Firebase/Core.
I have similar issue. It is after installing FBSDKCoreKit 5.0.0 (was 4.44.1) as part of the Firebase codebase.
It seems that there may be some code that Firebase use:
(void)addLoggingExtra:(id)object forKey:(id)key
{
[FBSDKInternalUtility dictionary:_mutableLoggingExtras setObject:object forKey:key];
}
That seem to be problematic and gives the error:
No known class method for selector 'dictionary:setObject:forKey:'
While I don't know how to solve it, the above may provide insights to others.
the above answer marked as correct didn't work for me.
this is how I fixed this error. First I downloaded iOS sdk from facebook : https://developers.facebook.com/docs/facebook-login/ios?sdk=fbsdk
then I opened downloaded sdk and copied FBSDKCorekit.framework, FBSDKLoginKit.framework, and Bolts.framework into 'Frameworks' folder in my Xcode project.
(I'm not using facebook to login at this time but I was still getting the same error as you guys are)
At last I changed my pod to:
pod 'Firebase/Core'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Phone'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Email'
update pod, clean project and rebuild
a couple errors pop up for deprecated code in the fb sdk. click 'fix' from the error and project runs as expected.
Very first you need to proper check version of pod which you are installing. Because it looks that you are installing earlier version of Facebook Pod. Please look at screenshot I have attached. It's work fine for me.
Though you can follow these steps to overcome this error.
Comment All Facebook pods in pod file.
Now close Xcode project, clear all recent items, Quit Xcode. Clean derived data.
Go to Terminal, jump to your project path directory, run command pod install (It will remove all Facebook pods).
Please save or commit your code if you are using versioning system.
Now open your Xcode project and go to pod file.
Copy latest pods from here and paste into pod file.
Now again close Xcode project, clear all recent items, Quit Xcode. (Please don't build or run project)
Go to Terminal and run command pod install (It will install all latest Facebook pods).
Don't forget to save or commit code.
Then open Xcode project, clean folder, build and then run.
Ok, I can't figure out what's the catch here. I follow all the instructions to configure my new project using CocoaPods to use Facebook SDK. Once I open generated project workspace, Xcode offers me to convert some source code in Pods project to Swift 2.3 or Swift 3.0.
I tried twice - with converting to Swift 3.0 and converting to Swift 2.3. Neither works and both give me on average ~120 compilation-time errors.
What's the deal here? I can't find anyone with similar problems. They seem to support Swift 2.3, but it doesn't work actually.
Xcode 8.0, Deployment target 8.0, latest FB sdk available through pods - 4.16.1
Facebook version 0.2.0 has support for Swift 3.0. Make sure you do the following before installing the latest version of Facebook SDK:
1: Get the latest version of Cocapods:
gem install cocoapods
(or if the above fails)
sudo gem install cocoapods
2: Update your local specs repo by running:
pod repo update
3: And then update your pod file and run pod update or pod install
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
I think your probably missing step 1.
This was building previously but isn't anymore. I updated cocoapods and pulled new data in with pod update but still can't build my iOS 9.0 app anymore:
/Users/cdub/Developer/AppName/Pods/Headers/Public/
AWSCognito/AWSCognitoSyncService.h:198:4:
Type arguments cannot be applied to non-parameterized class 'AWSTask'
Why is this happening?
The version of AWSCore and AWSCognito need to match. It looks like your AWSCognito is newer than AWSCore. How did you get AWSCognito and AWSCore? Both through CocoaPods? You need to use pod update when updating the pods instead of pod install.
If you keep encountering the issue, you should delete Podfile.lock and Pods/ and then run pod install to cleanly install the SDK. AWS Mobile SDK iOS Developer Guide has more information about how to setup the SDK.