前言
在iOS項目中使用第三方類庫可以說是非常常見的事蝎困,但是要正確地配置他們有時候是非常繁瑣的事情,幸運的是CocoaPods是一個很好的解決方案倍啥。
什么是CocoaPods
CocoaPods是OS X和iOS下的一個第三類庫管理工具禾乘,通過CocoaPods工具我們可以為項目添加被稱為“Pods”的依賴庫(這些類庫必須是CocoaPods本身所支持的),并且可以輕松管理其版本虽缕。
Cocoapods意義體現(xiàn)在兩個方面始藕。第一,在引入第三方庫時它可以自動為我們完成各種各樣的配置氮趋,包括配置編譯階段伍派、連接器選項、甚至是ARC環(huán)境下的-fno-objc-arc配置等剩胁。第二诉植,使用CocoaPods可以很方便地查找新的第三方庫,這些類庫是比較“標(biāo)準(zhǔn)的”昵观,而不是網(wǎng)上隨便找到的晾腔,這樣可以讓我們找到真正好用的類庫舌稀。
接下來我們將介紹CocoaPods的使用。
CocoaPods的核心組件
CocoaPods是用Ruby寫的灼擂,并劃分成了若干個Gem包壁查。
CocoaPods在解析執(zhí)行過程中最重要的幾個包的路徑分別是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj剔应。
CocoaPods / CocoaPod:這是面向用戶的組件睡腿,每當(dāng)執(zhí)行一個pod命令時,這個組件將被激活领斥。它包括了所有實用CocoaPods的功能嫉到,并且還能調(diào)用其他gem包來執(zhí)行任務(wù)。
CocoaPods / Core:Core gem提供了與CocoaPods相關(guān)的文件(主要是podfile和podspecs)的處理月洛。
Podfile:該文件用于配置項目所需要的第三方庫何恶,它可以被高度定制。本文中我們主要在這里做動作嚼黔。
Podspec:該文件描述了一個庫將怎樣被添加進工程中细层。.podspec文件可以標(biāo)識該第三方庫所需要的源碼文件、依賴庫唬涧、編譯選項疫赎,以及其他第三方庫需要的配置。
CocoaPods / Xcodeproj:這個包負責(zé)處理工程文件碎节,它能創(chuàng)建以及修改.xcodeproj文件和.xcworkspace文件捧搞。它也可以作為一個獨立的包使用,當(dāng)你要編寫修改項目文件的腳本時狮荔,可以考慮使用CocoaPods/Xcodeproj胎撇。
Cocoapods安裝步驟
1、升級Ruby環(huán)境
終端輸入:$gem update --system
此時會出現(xiàn)
ERROR:? While executing gem ... (Gem::FilePermissionError)
You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system
這個是因為你沒有權(quán)限去更新Ruby
這個時候你可以在終端使用:$sudo gem update —system來進行升級
bubuko.com,布布扣
這個時候表示Ruby升級完成殖氏。
2晚树、安裝CocoaPods時我們要訪問cocoapods.org,該網(wǎng)站可能被我們大天朝墻了雅采,這樣下載安裝可能會是龜速爵憎,幸好我們可以用淘寶的Ruby鏡像來訪問該網(wǎng)站,方法如下:
1婚瓜、gem sources --removehttps://rubygems.org/
2宝鼓、gem sources -ahttp://ruby.taobao.org/
可以使用下面的命令(紅色部分)查看是否更換鏡像成功(如下圖所示):
$ gem sources -l
bubuko.com,布布扣
3、安裝Cocoapods闰渔,在終端輸入命令
$sudo gem install cocoapods
這個時候會提示你輸入密碼席函,注:在終端輸入密碼不會有提示,光標(biāo)也不會移動冈涧,一定要注意
開始安裝茂附,如下圖:PS:這個過程可能花費時間比較長
bubuko.com,布布扣
安裝成功如下:
bubuko.com,布布扣
4、使用search命令搜索類庫名:
$pod search AFNetworking
如果CocoaPods支持督弓,將會輸出搜索到的所有類庫版本和信息营曼,以及在Podfile中配置的寫法,終端返回信息如下:
-> AFNetworking (2.3.1)
A delightful iOS and OS X networking framework.
pod ‘AFNetworking‘, ‘~> 2.3.1’(這個語句是需要在編輯Podfile的時候輸入的命令愚隧,即是如何安裝下載相關(guān)類庫的指令)
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source:? https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,
1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Sub specs:? - AFNetworking/Serialization (2.3.1)? -
AFNetworking/Security (2.3.1)? - AFNetworking/Reachability (2.3.1)? -
AFNetworking/NSURLConnection (2.3.1)? - AFNetworking/NSURLSession (2.3.1)
- AFNetworking/UIKit (2.3.1)
-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source:? https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]
5蒂阱、需要在工程中創(chuàng)建一個Podfile文件,
使用命令:
$cd /Users/shiyunlei/Desktop/CocoapodsSample(進入工程目錄狂塘,cd后面的是工程的路徑)
$ touch Podfile(創(chuàng)建Podfile文件)
bubuko.com,布布扣
然后使用vim編輯Podfile文件录煤,使用命令:
$ vim Podfile
進入如下界面
bubuko.com,布布扣
然后緊接著按鍵盤上的“i”鍵,變成如下狀態(tài)荞胡,這個時候可以對Podfile文件進行編輯:
$platform:ios, ‘7.0‘
$ pod ‘AFNetworking‘, ‘~> 2.3.1‘
在編輯完成后按“esc”妈踊,
bubuko.com,布布扣
在按“:”,這個時候輸入wq,點擊回車,保存并退出泪漂。
bubuko.com,布布扣
這個時候打開Podfile文件就會看到里面添加了剛才在終端輸入的一行語句廊营,如下圖
bubuko.com,布布扣
然后在終端輸入命令安裝相應(yīng)的第三方類庫
$pod install
bubuko.com,布布扣
因為這個過程需要下載相應(yīng)的類庫,所以時間和網(wǎng)速有關(guān)萝勤。
安裝成功之后截圖如下:
bubuko.com,布布扣
這個時候會看到之后打開工程都需要從類型為工程名.xcworkspace文件打開露筒。
bubuko.com,布布扣
史上最詳細的CocoaPods安裝教程