Cocoapods正在安装旧的Pod版本

时间:2017-07-25 14:20:42

标签: ios swift terminal cocoapods

我在我的应用中使用RxSwift和其他Rx-pods,根据Podfile.lock我使用RxSwift (3.2.0),但现在我想将Pod更新为最新版本版本

所以我从我的Podfile删除了我使用的4个Rx ..- pod,并运行pod install,这从项目和Podfile.lock删除了pod。我重新添加4个Rx ..- pod并再次运行pod instal。这会安装RxSwift 2.6.1 ... 为什么? - 我希望它安装RxSwift的最新稳定版本,例如3.6.1 ..

我尝试删除列出的所有内容:gem list --local | grep cocoapods并通过运行gem install cocoapods

重新安装cocoapods

我也试过pod repo update但没有成功。

我还试过运行pod update,而不先卸载Pod,也是同样的结果。

我怀疑这是我的cocoapods - 宝石的问题,而不是The Rx-pods ..

修改已添加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

修改已添加pod outdated转储:

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)

2 个答案:

答案 0 :(得分:5)

您可以尝试以下方法:

清除CocoaPods的缓存:

  • rm -rf“$ {HOME} / Library / Caches / CocoaPods”
  • rm -rf“`pwd` / Pods /”(在您项目的目录中)
  • 最后pod update

如果您使用的是0.38.0.beta1,则可以使用pod cache clean

重新生成所有内容:

  • rm -rf~ / Library / Caches / CocoaPods
  • rm -rf Pods; rm -rf~ / Library / Developer / Xcode / DerivedData / *
  • pod deintegrate; pod设置; pod install

设置版本

pod 'RxSwift', '~> 3.0' # last version is 3.6.1

答案 1 :(得分:1)

最新版本的RxMKMapView需要RxCocoa 2.x.x.显然他们需要更新Podspec,以允许RxCocoa 3.x.x.他们在提交中这样做了,但它从未上传到cocoapods(或者有效)。所以我通过从提交中获取pod来解决问题。由于pod RxCocoa没有最低版本要求,因此cocoapods只会获得满足pod RxMKMapView的最新版本的RxCocoa,这是旧版本(2.x.x)。这就是为什么我的Cocoapod安装出现问题,原因是声明所需pod的最小版本很重要..这解决了这个问题:

pod ‘RxCocoa’, ‘~> 3’
pod ‘RxSwift’, ‘~> 3’
pod ‘RxMKMapView’, :git => ‘https://github.com/RxSwiftCommunity/RxMKMapView.git', :commit => ‘6b86c6a’