AFNetWorking在10月份的時(shí)候發(fā)布了3.0測試版,在十二月份11號到十19號連續(xù)發(fā)布了3.0.0到3.0.4五個(gè)正式版本飒炎,不可謂不速度。本著學(xué)習(xí)的心態(tài)在測試項(xiàng)目中導(dǎo)入AFNetWorking,Podfile中命令如下:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.0'
預(yù)想的結(jié)果是喝口水,接下來開始擼代碼的結(jié)果,事與愿違漾峡,報(bào)錯(cuò)了,結(jié)果如下:
[!] Unable to satisfy the following requirements:
- AFNetworking (~> 3.0)` required by `Podfile`
如果你遇到過這個(gè)問題或者你知道這個(gè)問題的解決方案喻旷,那么你可以去喝口水忽略我,頭一次遇到pod安裝項(xiàng)目出問題的牢屋,一頭霧水且预,踩了坑就要慢慢的爬起來。以下內(nèi)容算是解決問題的一個(gè)思考過程,與大家共勉烙无。
降低版本
如果AFNetWorkinga版本太高,那么就降版本,設(shè)置為2.6.0,稍等一會(huì)就安裝成功,這個(gè)時(shí)候反而有點(diǎn)茫然了锋谐,為什么2.6.0可以,3.0不可以?難道3.0比較特殊?
AFNetWorking3.0安裝要求
>CocoaPods 0.39.0+ is required to build AFNetworking 3.0.0+.
>Xcode 7+ is required.
通過pod --version
查看之后版本確實(shí)是0.39.0截酷,同樣的很不理解涮拗,在網(wǎng)上搜索一遍無果,這個(gè)時(shí)候就在想是不是AFNetWorking更新太快迂苛,沒有在CocoaPods上發(fā)布,事實(shí)證明我是錯(cuò)的三热,但是確想到了一個(gè)命令~
版本查看
通過CocoaPods上的AFNetWorking,最新版本截圖如下:
通過剛才想到的
pod search AFNetWorking
搜索一下很意外,發(fā)現(xiàn)最高的版本是2.6.0三幻,簡單點(diǎn)說就是本地的第三庫的數(shù)據(jù)和遠(yuǎn)端的數(shù)據(jù)不同步就漾,導(dǎo)致CocoaPods本地的版本庫低于遠(yuǎn)端這里面其實(shí)存在一個(gè)問題,先來解決版本不同步的問題
升級CocoaPods本地庫
升級基本上算是重走了CocoaPods安裝的路子念搬,如果已經(jīng)默認(rèn)的是淘寶的ruby源抑堡,直接進(jìn)行1,5,6即可:
$ sudo gem update --system // 先更新gem
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l //查看ruby地址
$ sudo gem install cocoapods // 安裝cocoapods
$ pod setup
這里面需要注意的一個(gè)問題是最后一步pod setup
摆出,這一步會(huì)稍微有點(diǎn)慢:
Creates a directory at ~/.cocoapods/repos
which will hold your spec-repos. This is where it will create a clone of the public master
spec-repo from:
https://github.com/CocoaPods/Specs
If the clone already exists, it will ensure that it is up-to-date.
更新完成之后:
Search的范圍
通過pod search我們可以查看到第三方庫的版本,本地的第三方庫和網(wǎng)上不同步首妖,搜索的結(jié)果為什么只是在本地偎漫,而不是查找網(wǎng)上的結(jié)果,那就驗(yàn)證search是不是只查找本地在.cocoapods下的路徑截圖:
如果我們刪除紅色標(biāo)注的三個(gè)版本會(huì)不是查不到這三個(gè)版本?
興趣探討
上圖中刪除了AFNetWorking的是三個(gè)測試版本,無法查出來有缆,當(dāng)然也無法更新象踊,也就是你添加的版本本地應(yīng)該是存在的,不然無法更新.
我們開發(fā)中經(jīng)常會(huì)因?yàn)槁拭玻幌螺d代碼通危,不更新本地依賴庫,其實(shí)是一個(gè)不太好的習(xí)慣灌曙,有可能就造成本地版本庫的第三方版本低CocoaPods服務(wù)端的版本:
pod install xx --verbose --no-repo-update
如果我們刪除了AFNetWorking,會(huì)怎么樣呢?
一切都需要從頭再來菊碟,你需要先uninstall存在的CocoaPods,然后重復(fù)升級版本庫的的步驟,我刪除試了一下,重新開始的感覺不是那么美妙~
問題探討完了,該睡覺了在刺,看文章也可以早點(diǎn)休息了~