CocoaPods: Can't install FBSDK 5.6.0 - ios

I'm trying to update my FBSDK pods from version 5.0.0 to 5.6.0 through these lines in my Podfile:
pod 'FBSDKCoreKit', '~> 5.6.0'
pod 'FBSDKLoginKit', '~> 5.6.0'
pod 'FBSDKShareKit', '~> 5.6.0'
I ran pod repo update successfully, but pod install and pod update always give me this:
Specs satisfying the `FBSDKCoreKit (~> 5.6.0), FBSDKCoreKit (~> 5.0.0)` dependency were found, but they required a higher minimum deployment target.
(Sometimes it's the same error, but for FBSDKShareKit.)
My deployment target is everywhere set to 9.0 (in Podfile and project.pbxproj) and according to the podspec, FBSDKCoreKit requires 8.0 (if I read it correctly). I also tried increasing it up to 13.2, but it didn't help.
What am I missing?

Related

CocoaPods not updating pod, compatible version for pod FirebaseFirestore

I need to update my firebase pods to the last version but, I'm getting the following error when I try to run pod update or pod install on my project
Update all pods
Updating local specs repositories
Analyzing dependencies
Pre-downloading: `MessageKit` from `https://github.com/MessageKit/MessageKit.git`, branch `3.0.0-swift5`
[!] CocoaPods could not find compatible versions for pod "FirebaseFirestore":
In Podfile:
Firebase/Firestore was resolved to 6.14.0, which depends on
FirebaseFirestore (~> 1.8.2)
Geofirestore was resolved to 0.1.0, which depends on
FirebaseFirestore (~> 0.12.3)
My podfile is:
platform :ios, '13.0'
target 'ApproachApp' do
use_frameworks!
pod 'Firebase/Auth', '~> 6.14.0'
pod 'Firebase/Firestore'
pod 'Firebase/Storage'
pod 'FirebaseUI/Storage'
pod 'Toast-Swift', '~> 5.0.0'
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'Geofirestore'
pod 'UPCarouselFlowLayout'
pod 'MessageKit', :git => 'https://github.com/MessageKit/MessageKit.git', :branch => '3.0.0-swift5'
end
I also tried with a fresh new project and same pod config but no luck.
Thanks
The issue is that the Geofirestore pod's Firestore dependency to a very old beta version of Firestore.
You might want to file an issue with Geofirestore, but it looks like there hasn't been an update since July 2018 here.

Stop Re-creating CocoaPods due to major version update on pod install

how do i stop the re-installing of old pods on new pod install.
old pod was 1.0.0, updated pod is 1.1.1
pod install --no-repo-update ---->
Re-creating CocoaPods due to major version update.
for example:
pod file: pod 'Alamofire', '~> 3.3'
Installing Alamofire (3.5.1) --> prevent this from installing on pod install
If you want a specific version, don't use compatibility operator ~>, just provide the version:
pod 'Alamofire', '3.3.1'
This means that you only want this, and no other version. By specifying '~> 3.3', you are saying that you want any version that's compatible, which essentially is 3.x.y.
You can read more on semantic versioning here: http://semver.org.

cocoa pods Dependency management

[!] Unable to satisfy the following requirements:
SDWebImage (= 3.7) required by DZNPhotoPickerController/Core (1.6.0)
AFNetworking (~> 3.0) required by Podfile
AFNetworking (~> 1.3.3) required by DZNPhotoPickerController (1.0.2)
PodFile
pod 'DZNPhotoPickerController'
pod 'ZXingObjC', '~> 3.0'
pod 'vfrReader','~>2.8.6'
pod 'Mantle'
pod 'PPSSignatureView'
pod 'AFNetworking','~>3.0'
pod 'JNKeychain'
pod 'SVProgressHUD'
pod 'ZipArchive'
I want to update AFNetworking.
Help me to solve this
To fix this you might need to
Fork the DZNPhotoPickerController repo and modify the dependency in
the Pod spec and then use your forked repo's git location in the pod
file. Not a great solution for the long term but works.
For instance, The Pod spec here should have the line#33 which is
ss.dependency 'AFNetworking'
should be changed to
ss.dependency 'AFNetworking', '~> 3.0'
in your forked repo.
Then use in your Pod file as below
pod 'DZNPhotoPickerController', :git => 'https://github.com/yourUsername/DZNPhotoPickerController.git'
Your forked repo is not guaranteed to work out of the box if the project relies on legacy dependency code, if any. In this particular case, if it uses any methods of AFNetworking that is removed in 3.0 it will not work.
To update a single AFNetworking pod,
pod update AFNetworking
with above code, cocoapods will find a latest updated pod version and update your pod.
To update your all pods you can use
pod update
this will update your all the pods.
The issue looks like 'DZNPhotoPickerController' has dependancy of ss.dependency 'AFNetworking', '~> 2.6.0' so when you are trying to update AFNetworking to version 3.0 it shows the wrong version error.
If you didn't check it recently the 'DZNPhotoPickerController' has also updated it's podspec to make AFNetworking to 3.0 so you should try pod update now it may fix your issue as both dependancy needs the same version
If the above and the fork 'DZNPhotoPickerController' in to newer one didn't work
Please remove the 'DZNPhotoPickerController' from the cocoapods
update the cocoapods by pod update
if it's successful add
the 'DZNPhotoPickerController' dependancy again in the cocoapods and
install that again it may solve your problem

`pod update` command doesn't update the installed pod

I'm using CocoaPods version 0.39.0 and I have 'TwitterKit' pod version 1.12.0 installed.
My Podfile doesn't specify any version for this pod...
pod 'ReactiveCocoa', '~> 2.5'
pod 'Fabric'
pod 'TwitterKit'
pod 'TwitterCore'
pod 'Mantle', '~> 2.0'
pod 'MTLManagedObjectAdapter', '~> 1.0.0.1'
pod 'NPReachability', '~> 0.2.0'
Now I want to update it to version 1.13.1 so I run pod update 'TwitterKit'. But it still says Using TwitterKit (1.12.0).
pod search TwitterKit tells me version 1.13.1 is available.
-> TwitterKit (1.13.1)
Increase user engagement and app growth.
pod 'TwitterKit', '~> 1.13.1'
- Homepage: https://fabric.io/kits/ios/twitterkit
- Source:
https://kit-downloads.fabric.io/ios/com.twitter.sdk.ios/1.13.1/com.twitter.sdk.ios-default.zip
- Versions: 1.13.1, 1.13.0, 1.12.1, 1.12.0, 1.11.4, 1.11.3, 1.11.2, 1.11.1,
1.11.0, 1.10.1, 1.10.0, 1.9.0, 1.8.1 [master repo]
Did I do something wrong???
It turns out it is a dependency issue. I have to do pod update 'TwitterCore' first, then do pod update 'TwitterKit' in order to update TwitterKit's version.
For the curious ones, here is the TwitterKit.podspec.json :)
updating one by one starting from TwitterCore didn't work for me. Solution was: comment Twitter pods in Podfile -> run pod install to remove those pods -> uncomment Twitter pods and run pod install again

Google Analytics v3 Pod with other Swift Pods

I'm developing an swift iOS app and at this "final" stage I'll add Google Analytics.
I'm following their Guide
But it failed at pod install command...
Error Log
Downloading dependencies
Using Alamofire (1.2.2)
Using Bolts (1.2.0)
Using CryptoSwift (0.0.10)
Using FBSDKCoreKit (4.2.0)
Using FBSDKLoginKit (4.2.0)
Using FBSDKShareKit (4.2.0)
Installing Google (1.0.7)
Installing GoogleAnalytics (3.13.0)
Using GoogleMaps (1.10.1)
Installing GoogleNetworkingUtilities (1.0.0)
Installing GoogleSymbolUtilities (1.0.0)
Installing GoogleUtilities (1.0.1)
Using ImageLoader (0.3.2)
Using SQLite.swift (0.1.0.pre)
Using SwiftyJSON (2.2.0)
[!] The 'Pods-<My-Project>' target has transitive dependencies that include static binaries: (<path-to-project-dir>/Pods/Google/Libraries/libGGLAnalytics.a, <path-to-project-dir>/iOS/Pods/Google/Libraries/libGGLCore.a, <path-to-project-dir>/iOS/Pods/GoogleAnalytics/Libraries/libGoogleAnalytics.a, (...)
As stated in this tutorial, "pods written in Swift must be created as dynamic frameworks" (and that's why the use_frameworks! in the Podfile).
As it seems, this new Google Analytics pod is a static binary.
I tried to change the pod the same as this answer but the pod install command warned me that (obviously) [!] GoogleAnalytics-iOS-SDK has been deprecated in favor of GoogleAnalytics. And I'm not sure it's a good idea to add an already deprecated library to a new project instead of getting the right one to work.
My project has a target dependecy to iOS 8.0+ and the podfile is:
```
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyProject' do
pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'
pod 'GoogleMaps'
pod 'ImageLoader', '~> 0.3.0'
pod 'SQLite.swift', git: 'https://github.com/stephencelis/SQLite.swift.git'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
pod 'CryptoSwift'
pod 'GoogleAnalytics', '~> 3.13'
end
target 'MyProjectTests' do
end
```
Is anyone having the same problem or know how to solve this using the v3 GA pod?
Replace the line
pod 'GoogleAnalytics-iOS-SDK', '~> 3.10'
in your Podfile with
pod 'GoogleAnalytics', '~> 3.13'
Clean project and run pod install again. The pod you're currently using is the one that is deprecated.

Resources