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

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

Related

CocoaPods: Can't install FBSDK 5.6.0

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?

Unable to find a specification for `ARCore (~> 1.2.1)

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.

Cocoapods is installing old Pod version

I'm using RxSwift and other Rx-pods in my app, according to my Podfile.lock I use RxSwift (3.2.0), but now I want to update the Pods to the latest versions.
So I remove the 4 Rx..-pods that I use from my Podfile, and run pod install, this removed the pods from the project and the Podfile.lock. The I re-add the 4 Rx..-pods and run pod instalagain. This installs RxSwift 2.6.1... Why? - I'm expecting it to install the newest stable version of RxSwift, something like 3.6.1..
I tried removing everything listed by: gem list --local | grep cocoapods and reinstalling cocoapods by running: gem install cocoapods
I also tried running pod repo update without success.
I also tried just running pod update, without uninstalling the Pods first, also same outcome.
I suspect this to be an issue with my cocoapods-gem, not The Rx-pods..
Edit added Podfile:
source 'https://github.com/CocoaPods/Specs.git'
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'MyApp' do
pod 'BrightFutures'
pod 'Alamofire'
pod 'MBProgressHUD'
pod 'Fabric'
pod 'Crashlytics'
pod 'Analytics', '~> 3.0'
pod 'SwiftyJSON'
pod 'Eureka', '~> 2.0.0-beta.1'
pod 'RxCocoa'
pod 'RxSwift'
pod 'INTULocationManager'
pod 'ReachabilitySwift', '~> 3'
pod 'RxSwiftExt'
pod 'RxMKMapView'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
Edit Added pod outdateddump:
Analyzing dependencies
The following pod updates are available:
- Alamofire 4.3.0 -> 4.5.0 (latest version 4.5.0)
- Analytics 3.5.7 -> 3.6.4 (latest version 3.6.4)
- BrightFutures 5.1.0 -> 5.2.0 (latest version 6.0.0-beta.1)
- Crashlytics 3.8.3 -> 3.8.5 (latest version 3.8.5)
- Eureka 2.0.0-beta.1 -> 2.0.1 (latest version 3.1.0)
- Fabric 1.6.11 -> 1.6.12 (latest version 1.6.12)
- Result 3.1.0 -> 3.2.3 (latest version 3.2.3)
- RxCocoa 3.2.0 -> 3.6.1 (latest version 3.6.1)
- RxSwift 3.2.0 -> 3.6.1 (latest version 3.6.1)
You could try the following:
Clearing CocoaPods' cache:
rm -rf "${HOME}/Library/Caches/CocoaPods"
rm -rf "`pwd`/Pods/" (while in your project's dir)
Finally pod update
If you are using 0.38.0.beta1, you can just use pod cache clean
Regenerate everything:
rm -rf ~/Library/Caches/CocoaPods
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod deintegrate; pod setup; pod install
Set the version
pod 'RxSwift', '~> 3.0' # last version is 3.6.1
The latest release of RxMKMapView needs RxCocoa 2.x.x. Apparently they need to update the Podspec, to allow RxCocoa 3.x.x. They did this in a commit, but it was never uploaded to cocoapods (or however that works). So I solved the problem by getting the pod from that commit. Because the pod RxCocoadidn’t have a minimum version requirement, cocoapods would just get latest version of RxCocoa that satisfied pod RxMKMapView, which was an old version (2.x.x). This was why I though something was wrong with my Cocoapod install, turns out it’s important to declare minimum versions of the wanted pods.. This solved the problem:
pod ‘RxCocoa’, ‘~> 3’
pod ‘RxSwift’, ‘~> 3’
pod ‘RxMKMapView’, :git => ‘https://github.com/RxSwiftCommunity/RxMKMapView.git', :commit => ‘6b86c6a’

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.

CocoaPods update is downgrading an installed pod

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.

Resources