I searched all over but the closest answer is here Can't update pods to the latest version. However it did not work for me because I have no deprecated pods. And i cant leave a comment to ask someone about my case so I opened a new question.
I have no "specified version" and am using IOS 13 as the deployment target. Any ideas on how to update those pods? Thanks!
# platform :ios, '13.0'
target 'ChatApp' do
use_frameworks!
pod 'MessageKit'
pod 'JGProgressHUD'
pod 'RealmSwift'
pod 'SDWebImage'
# firebase pods
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Auth'
pod 'FirebaseUI'
pod 'Firebase/Database'
pod 'Firebase/Storage'
# FaceBook Sign in pods
pod 'FBSDKLoginKit'
#Google Sign in pods
pod 'GoogleSignIn'
end
3
Answers
Run
pod repo update
to update Your local database.It’s because there are dependencies that need a specific version.
For instance if we see your "outdated" pods, except for
FBSDKLoginKit
, they aren’t listed directly in your pod file list.Let’s have a look at your
Podfile.lock
.The listing is a such:
Where
PodA
needsPodB
, it’s by "indentation".You use
FirebaseFirestore
.We can see that even last version of
FirebaseFirestore needs
abseil
at0.20200225
(not the last version of it).You might say, "hey, I didn’t write pod FirebaseFireStore", that’s normal, you are needing it indirectly (with a little sort of your
Podfile.lock
):You use
FirebaseUI
, that needsFirebaseUI/Firestore
, which needsFirebase/Firestore
in version 1.19.0, that needs theabseil
at that version.See the nightmare?
It’s a nightmare to check, but you can do it yourself if needed, and find what the pod that is blocking the version of a pod. I just show an example.
Now, you are building dependencies, so they need to find a common version where it all works, you can’t have different version really. Else we couldn’t know which one to use, the version 4.0.0 where all changed, or the version 1.0.0?
Maybe cocoapods-graph (not tested) or cocoapods-dependency might give you a better idea:
Run
pod repo update
to update then also runpod install
and check output