I added the following to my Podfile in order to install Mantle and Overcoat
pod 'Mantle', '~> 2.0.5'
pod 'Overcoat', '~> 3.1.1'
and ran pod install. At which point it complained :
AFNetworking/Serialization required by Overcoat/Core (3.1.1)
So I added :
pod 'AFNetworking', '~> 2.6.0'
and ran pod install
At which point it now complains :
AFNetworking (~> 2.6.0) required by Podfile
AFNetworking (= 1.3.4) required by Podfile.lock
How do I resolve these seemingly unresolvable dependencies?
Related
I'm working with an app that has uses Fabric Crashlytics and Google Analytics v3. These are the pods included in its podfile:
pod 'PromiseKit', '~> 4.4'
pod 'CryptoSwift', '~> 0.9.0'
pod 'Kingfisher', '~> 4.7.0'
pod 'KeychainAccess', '~> 3.1.1'
pod 'Google/Analytics', '~> 3.1.0'
pod 'Cosmos', '~> 15.0.0'
pod 'Alamofire', '~> 4.7.2'
pod 'FRHyperLabel', '~> 1.0.4'
pod 'RealmSwift', '~> 4.4.0'
pod 'Realm', '~> 4.4.0'
pod 'Fabric', '~> 1.9.0'
pod 'Crashlytics', '~> 3.12.0'
pod 'Bolts', '~> 1.9.0'
pod 'FBSDKCoreKit', '~> 4.36.0'
pod 'FacebookCore', '~> 0.3.3'
pod 'CleverTap-iOS-SDK', '~> 3.7.3'
pod 'Branch', '~> 0.29.3'
pod 'TPKeyboardAvoiding', '~> 1.3.2'
pod 'Firebase', '~> 3.17.0'
pod 'GoogleTagManager' , '~> 5.0.8'
I have to update Crahslytics from Fabric to Firebase before 15/November. I would like to change the app as less as possible, so I would like to keep using Google Analytics v3, the same versions, etc...
I've changed this:
pod 'Fabric', '~> 1.9.0'
pod 'Crashlytics', '~> 3.12.0'
to this:
pod 'Firebase/Crashlytics'
And run a pod update but got this error:
[!] CocoaPods could not find compatible versions for pod "Firebase/Crashlytics":
In Podfile:
Firebase/Crashlytics
None of your spec sources contain a spec satisfying the dependency: `Firebase/Crashlytics`.
This is due to a conflict with pod 'Firebase', '~> 3.17.0', so I removed the specific version and the podfile now looks like this:
pod 'Firebase/Crashlytics'
pod 'PromiseKit', '~> 4.4'
pod 'CryptoSwift', '~> 0.9.0'
pod 'Kingfisher', '~> 4.7.0'
pod 'KeychainAccess', '~> 3.1.1'
pod 'Google/Analytics', '~> 3.1.0'
pod 'Cosmos', '~> 15.0.0'
pod 'Alamofire', '~> 4.7.2'
pod 'FRHyperLabel', '~> 1.0.4'
pod 'RealmSwift', '~> 4.4.0'
pod 'Realm', '~> 4.4.0'
pod 'Bolts', '~> 1.9.0'
pod 'FBSDKCoreKit', '~> 4.36.0'
pod 'FacebookCore', '~> 0.3.3'
pod 'CleverTap-iOS-SDK', '~> 3.7.3'
pod 'Branch', '~> 0.29.3'
pod 'TPKeyboardAvoiding', '~> 1.3.2'
pod 'Firebase'
pod 'GoogleTagManager' , '~> 5.0.8'
Now the pod update works fine, it gives this log:
Analyzing dependencies
Downloading dependencies
Installing Bolts 1.9.1 (was 1.9.0)
Installing Firebase 3.6.0 (was 3.17.0)
Installing Firebase 6.33.0 (was 3.17.0)
Installing FirebaseAnalytics 3.4.2 (was 3.9.0)
Installing FirebaseCore 6.10.3 (was 3.6.0)
Installing FirebaseCoreDiagnostics (1.7.0)
Installing FirebaseCrashlytics (4.6.1)
Installing FirebaseInstallations (1.7.0)
Installing FirebaseInstanceID 1.0.9 (was 1.0.10)
Installing GoogleDataTransport (7.4.0)
Installing GoogleInterchangeUtilities (1.2.2)
Installing GoogleUtilities 1.3.2
Installing GoogleUtilities 6.7.2 (was 1.3.2)
Installing PromisesObjC (1.2.10)
Installing Realm 4.4.1 (was 4.4.0)
Installing RealmSwift 4.4.1 (was 4.4.0)
Installing SDWebImage 5.9.2 (was 5.6.1)
Installing TPKeyboardAvoiding 1.3.4 (was 1.3.3)
Installing nanopb (1.30906.0)
Removing Crashlytics
Removing Fabric
Removing GoogleToolboxForMac
Generating Pods project
Integrating client project
but when I compile the app I get the following error:
googleutilities/gulloggerlevel.h file not found
This error happens because Pods/GoogleUtilities has the content of its older version (1.3.2), not the newer one (6.7.2). How is this possible?
I've tried another thing:
I've removed from the Podfile the all pods related to Firebase and GoogleAnalytics and run a pod update.
I've added pod Firebase/Analytics and run a pod update. This creates the folder Pods/GoogleUtilities with the newer content (6.7.2 version).
I've added the rest of pods related to GoogleAnalytics. This overwrites the folder Pods/GoogleUtilities with the older content (1.3.2 version), so the googleutilities/gulloggerlevel.h file is not found again.
So is this the normal behavior?
Is it possible to have in the same podfile pod Google/Analytics and pod Firebase/Crashlytics?
Have your tried pod 'Firebase/Analytics' to get Google Analytics
https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=ios&authuser=0
Fabric is phasing out
https://developers.google.com/analytics/devguides/collection/ios/v3?ver=swift
I'm trying to compile and build the ARCore example provided here :
https://github.com/google-ar/arcore-ios-sdk
My Podfile looks as follows
`=> cat Podfile
target 'MyTarget'
platform :ios, '11.0'
pod 'ARCore', '~> 1.2.1'
pod 'Firebase/Core', '~> 4.11'
pod 'Firebase/Database', '~> 4.11'`
When I run pod install, I get the folllowing error :
==> pod install
Analyzing dependencies
[!] Unable to find a specification forARCore (~> 1.2.1)``
Run pod update or pod install --repo-update.
Your podspec repo is probably does not include 1.2.1 yet.
I am trying to import a new dependency. I successfully used XCDYouTubeKit before but now after I run the command "pod install" I get this error:
'XCDYouTubeKit/XCDYouTubeKit.h' file not found
Here is my podfile:
pod "XCDYouTubeKit", "~> 2.5.3"
platform :ios, '7.0'
pod 'CocoaLumberjack'
pod 'XCDLumberjackNSLogger', '~> 1.0.0'
target 'MyApp' do
pod 'MBProgressHUD', '~> 1.0.0'
pod 'QRCodeReaderViewController', '~> 4.0.2'
end
Output of "pod install" on terminal:
Analyzing dependencies
Downloading dependencies
Using CocoaLumberjack (2.2.0)
Using MBProgressHUD (1.0.0)
Using NSLogger (1.5.1)
Using QRCodeReaderViewController (4.0.2)
Using XCDLumberjackNSLogger (1.0.2)
Using XCDYouTubeKit (2.5.3)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 5 dependencies from the Podfile
and 6 total pods installed.
in Edit Scheme - build uncheck "Projectname"Tests's analyze and run , then OK.
I am facing a scenario where I need AFNetworking 3.0. But signalR has a dependency on AFNetworking 2.0, So it causes a conflict
target “MyTestApp” do
pod 'SignalR-ObjC', '~> 2.0'
pod 'AFNetworking', '~> 3.0'
end
Now when I try an explicitly update (pod 'AFNetworking', '~> 3.0'), then I got error
[!] Unable to satisfy the following requirements:
AFNetworking (~> 3.0) required by Podfile
AFNetworking (~> 2.0) required by SignalR-ObjC/Core (2.0.2)
How should I resolve this conflict?
Another way, if I try to update AFNetworking (included by SignalR)
target “MyTestApp” do
pod 'SignalR-ObjC', '~> 2.0'
end
then
[!] The [AFNetworking] Pod is not installed and cannot be updated
So, how can we update this explicitly?
When I run pod update, MMDrawerController is being downgraded from the currently installed version (0.5.7) to an older one (0.4.0).
Here is the contents of my Podfile:
source 'https://github.com/CocoaPods/Specs.git'
link_with 'OpenEye-Mobile', 'SecurityStar Tests'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.5.0'
pod 'MBProgressHUD', '~> 0.9'
pod 'MMDrawerController'
pod 'MMDrawerController+Storyboard', '~> 0.0.1'
pod 'UIAlertView+Blocks', '~> 0.8.1'
target :"SecurityStar Tests" do
pod 'OCMock', '~> 3.1.1'
end
I just updated the cocoapods gem from v. 0.34.4 to 0.35.0. The only change I have made to the Podfile is updating AFNetworking from 2.3.1 to 2.5.0. If I try to explicitly specify MMDrawerController as v. 0.5.7, I get a dependency error:
- `MMDrawerController (= 0.5.7)` required by `Podfile`
- `MMDrawerController (~> 0.4.0)` required by `MMDrawerController+Storyboard (0.0.1)`
What's going on here? Why is this a problem all of a sudden? Did something change in cocoapods 0.35? Is there a way I can force MMDrawerController+Storyboard to be OK with MMDrawerController (= 0.5.7)?
SOLUTION 1 is specify same range as in MMDrawerController+Storyboard
pod 'MMDrawerController', '~> 0.4.0'
SOLUTION 2 is to update MMDrawerController+Storyboard podspec so that it will use the latest version.
EXPLANATION
The problem is as it says: dependency error.
This line in a podfile means take the latest (for 04.02 is 0.5.7):
pod 'MMDrawerController'
While this one demands 'MMDrawerController+Storyboard' :
pod 'MMDrawerController+Storyboard', '~> 0.0.1'
which, in turn, specifies in it's podspec as a dependency:
s.dependency 'MMDrawerController', '~> 0.4.0'
'~> 0.4.0' means that it can use versions 0.4.0 - 0.4.9 and there is no intersection of 0.5.7 with 0.4.0 - 0.4.9.