2017-07-25 157 views
1

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

因此,我从我的Podfile中删除了4个Rx ..-豆荚,并运行pod install,这样将该豆荚从项目和Podfile.lock中删除。我重新添加4个Rx ..-豆荚,并再次运行pod instal。此安装RxSwift 2.6.1 ... 为什么? - 我期待它来安装的RxSwift最新的稳定版本,像3.6.1 ..

我试图通过消除一切上市:gem list --local | grep cocoapods并通过运行重新安装的CocoaPods:gem install cocoapods

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

我也尝试过只运行pod update,没有先卸载Pod,也是相同的结果。

我怀疑这是一个问题,我的cocoapods -gem,而不是RX-荚..

编辑添加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) 
+0

你是如何声明'RxSwift'荚? – EmilioPelaez

+0

看我的编辑.... – Wiingaard

+0

你试过运行'pod更新RxSwift'吗? – EmilioPelaez

回答

1

你可以试试看翼:

结算的CocoaPods的缓存:

  • 室射频 “$ {HOME} /图书馆/缓存/的CocoaPods”
  • 室射频 “`pwd` /荚/”(而在项目的目录)
  • 最后pod update

如果您正在使用0.38.0.beta1,你可以只使用pod cache clean


重生的一切:

  • RM -rf〜/图书馆/缓存/的CocoaPods
  • 室射频豆荚; rm -rf〜/ Library/Developer/Xcode/DerivedData/*
  • pod deintegrate;荚设置;吊舱安装

设置版本

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

RxMKMapView最新版本需要RxCocoa 2.x.x.显然他们需要更新Podspec,以允许RxCocoa 3.x.x.他们在提交时这样做了,但它从未上传到cocoapods(或者可用)。所以我通过从该提交获取吊舱来解决问题。因为pod RxCocoa没有最低版本要求,cocoapods只会得到最新版本的RxCocoa,它满足pod RxMKMapView,这是一个旧版本(2.x.x)。这就是为什么我以为出事了与我的Cocoapod安装,原来申报通缉舱体的最低版本是非常重要的。这解决了这个问题:

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

谢谢!与RxSwiftUtilities降级RxSwift相同的问题。安装了最新的RxSwiftUtilities提交并解决了问题。 – RealNmae