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.
Related
I am trying to integrate FolioReaderKit in swift, while pod installing I am getting Realm (3.13.1) instead of Realm (3.17.3). I have updated 1.11.2 version of pod.
What is the issue?
Run pod update. If that doesn't work, examine/share the the Podfile and Podfile.lock to determine why a particular version is chosen.
I am using Cocoapods to manage my Admob/Google ad-related frameworks.
My pod file is as follows:
target 'SKGameTest' do
use_frameworks!
pod 'Firebase/Core'
pod 'Firebase/AdMob'
pod 'Google-Mobile-Ads-SDK'
end
I have updated Firebase and Google-Mobile-Ads-SDK using the Cocoapods app. Now that these frameworks have been updated, will all current versions of my app use these latest frameworks? Or will my app users have to download a new update containing these updated frameworks? If the last option (downloading a new update for the app) is true, then this would be really annoying as you would have to release a new update for your app each time Google updates their SDKs.
Please explain to me about how this all works, thank you.
I have gone through some testing and have discovered that updating Cocoapods will not update all versions of the app (unfortunately). When updating your SDKs you will need to release a new version with it.
My project in Xcode consist of static frameworks and one custom dynamic framework. This dynamic framework includes some other static frameworks.
When I try to compile the custom dynamic framework itself, everything is fine. I was able to force to install latest version of frameworks (Alamofire, Realm, etc..) by forcing the pod definition file
platform :ios, '9.0'
But when I compile my project even when I use the above line, I am getting the old frameworks.
When I try to force the pods for a explicit version,
pod 'Alamofire', '~> 4.4.0'
getting the version 3.5.1.
Is there any other explicit setting to force CocoaPods to be more accurate in versions?
Originally the project for the dynamic framework was made for the Swift version 2.3, which is actually requiring the version of Alamofire 3.5.1.
Any help will be appreciated.
Maybe try the following in your podfile:
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '4.4.0'
That will bypass your local spec repo and get straight from git.
Which version of CocoaPods you have currently installed on your machine? Which version was used to originally establish Pods in project? I've spotted an issue when I updated CocoaPods, that pod update hasn't been working properly, and removing just Podfile.lock and Pods/ directory wasn't sufficient to make things right.
That said I would do the following:
update CocoaPods to newest version
pod repo update for newest Pod specs
pod deintegrate to completely remove Pods from project
pod install to re-create Pods in the project
The solution is kinda tricky. I haven't realise in the beginning that the pods under a dynamic framework cannot actually be executed directly from top project and there is a configuration JSON file, which actually is managing the pods under the dynamic framework.
So the pod versions were actually hardcoded there.
I'm trying out the google places sdk sample. I installed it using
pod try GoogleMaps
I installed GoogleMaps (1.10.5) using cocoapods
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.1'
pod 'GoogleMaps'
checking the GoogleMaps in both steps, the one in the sample (1) contains more headers like GMSAutocompleteTableDataSource.h
Why are they different? The one in the sample seems to be a better version but the one given by pods is not the latest? Its not even in the changelog
Run pod update GoogleMaps. Cocoapods won't update the version of a pod you've already downloaded unless you explicitly run pod update or update the podspec to require a newer version. See https://guides.cocoapods.org/using/pod-install-vs-update.html for more details.
I checked the latest podspec
I just need to set the version to the latest
e.g
pod 'GoogleMaps', '~> 2.5.0'
In my project's podfile, I don't specify the version. The pod line just specifies: pod 'GoogleMaps'
So, if you don't include the version in the podfile, then the following command in a Terminal window will update to the latest version: pod 'GoogleMaps'
Please ensure the you are in the correct folder containing your podfile before entering this command.
It may take a while for Pod to process when you see this message: Updating local specs repositories.
Be patient - it took about 20 minutes.
I just ran into this error, and I updated to latest GoogleMaps per the advice above, but had to delete the app on my device and install fresh for it to resolve the error. Error was still present until I did that.
Is there a way to get the Google Cloud Messaging framework without using Cocoapods? I use Carthage and don't want to have to use cocoapods just for this one library.
If you use on a demo project the pod and you put this on your PodFile
target 'MyTarget' do
use_frameworks!
pod Firebase
end
Then pod install and below Pods target you will get a .framework which you can use on your real project without using cocoapods.
It's awful to update the framework, because you need a demo project but better than nothing.
Hope it helps