一、什么是CocoaPods
當(dāng)我們開發(fā)iOS應(yīng)用的時候,不可避免的要使用到很多第三方庫罚缕,如SDWebImage,AFNetWorking怎静。而有些第三方庫又依賴其他的第三方庫邮弹。我們需要將他們一個個的下載下來加到工程里。當(dāng)項目開發(fā)完了蚓聘,我們還要記得定期去挨個查一下腌乡,這些庫是不是需要更新了。以上兩個問題手動去做非常麻煩夜牡,有沒有什么工具能夠自動幫助我們完成這個事情呢与纽?CocoaPods就是這樣一個工具。通過它,我們可以一行命令安裝渣锦、更新所需的第三方庫硝岗。
絕大多數(shù)知名的第三方庫都會支持CocoaPods氢哮,通過CocoaPods安裝的第三方庫都是標(biāo)準(zhǔn)庫袋毙,避免自己去網(wǎng)上搜索找到的庫或者版本不是最新的,或者被人修改過冗尤。
CocoaPods的缺陷
當(dāng)我們需要對第三方庫做修改以適應(yīng)自己的項目時听盖,CocoaPods會帶來很大的麻煩,因為你修改過后裂七,通過CocoaPods更新后皆看,修改的記錄就會被覆蓋。當(dāng)遇到這種情況時背零,這個第三方庫只有自己手動加入工程中了腰吟。
二、安裝
- 更換鏡像地址
安裝CocoaPods時我們要訪問cocoapods.org徙瓶,該網(wǎng)站被墻了毛雇,之前淘寶的Ruby鏡像也不更新了,使用最新的支持鏡像
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
稍等一會侦镇,就會提示更新成功灵疮。如果提示失敗,多試幾次就可以了壳繁。
使用下面的命令查看是否更換鏡像成功
gem sources -l
- 更新ruby
如果安裝了XCode震捣,則已經(jīng)安裝了ruby環(huán)境,使用下面命令更新ruby
sudo gem update --system
稍等一會就會提示安裝成功
- 安裝CocoaPods
sudo gem install cocoapods
在10.11中闹炉,執(zhí)行上句會出現(xiàn)
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
此時改用此語句
sudo gem install -n /usr/local/bin cocoapods
輸入密碼蒿赢,稍等一會,等進(jìn)程結(jié)束后渣触,輸入
pod setup
- 搜索庫
搜索AFNetworking羡棵,來檢測是否安裝成功
pod search AFNetWorking
在我的電腦上搜索到的結(jié)果如下
能夠搜索到結(jié)果,說明安裝成功昵观。即可開始下面的步驟了
三晾腔、使用
使用CocoaPods,需要一個Podfile文件啊犬,這個文件會配置所需的第三方庫
- 創(chuàng)建測試工程
使用XCode創(chuàng)建一個測試工程cocoaPodsTest -
進(jìn)入工程所在目錄
project.png - 編輯Podfile
在工程目錄中灼擂,在終端中輸入命令
vim Podfile
輸入a
,進(jìn)入編輯模式
加入AFNetworking第三方庫 pod 'SDWebImage', '3.7.3'
輸入完后,按ESC鍵觉至,輸入:wq
,保存并退出編輯
- 查看Podfile
進(jìn)入工程目錄剔应,打開Podfile文件,或者用命令查看如下cat Podfile
pod.png
其中第一個單引號里是第三方庫的名字,第二個單引號里的是這個第三方庫的版本號峻贮,這兩個參數(shù)都可以通過pod search命令來查看席怪。
詳細(xì)說明可以查看官方文檔https://guides.cocoapods.org/using/the-podfile.html
http://guides.cocoapods.org/using/using-cocoapods.html
以下是官網(wǎng)引用的關(guān)于版本號的說明
'> 0.1' Any version higher than 0.1
'>= 0.1' Version 0.1 and any higher version
'< 0.1' Any version lower than 0.1
'<= 0.1' Version 0.1 and any lower version
In addition to the logic operators CocoaPods has an optimistic operator ~>:
'~> 0.1.2' Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher
'~> 0.1' Version 0.1 and the versions up to 1.0, not including 1.0 and higher
'~> 0' Version 0 and higher, this is basically the same as not having it.
- 安裝SDWebImage
還是在當(dāng)前工程目錄下,如果你已經(jīng)用XCode打開了工程纤控,那么先將工程關(guān)閉挂捻,然后輸入pod install
稍等一會,安裝成功后界面如下
install.png - 打開工程
在上一步安裝成功后船万,可以看到界面提醒
Please close any current Xcode sessions and use
cocoaPodsTest.xcworkspace
for this project from now on.
我們以后就要通過cocoaPodsTest.xcworkspace來打開工程了刻撒。
輸入open cocoaPodsTest.xcworkspace
打開工程,我們看到在工程項目列表里多出了一個pods的項目耿导,現(xiàn)在你就可以使用SDWebImage了
到此cocoaPods安裝成功声怔,以后需要導(dǎo)入新的工程,或者需要更新版本舱呻,修改Podfile即可
- 對于下載下來的工程醋火,如果發(fā)現(xiàn)工程里有Podfile文件,可以先輸入
pod update
,再輸入pod install
,即可安裝項目所需庫