從事iOS開(kāi)發(fā)的小伙伴,應(yīng)該會(huì)聽(tīng)說(shuō)過(guò)CocoaPods寿酌,它的使用可以為iOS開(kāi)發(fā)以及維護(hù)提升效率掉瞳。
什么事CocoaPods?
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 28 thousand libraries and is used in over 1.7 million apps. CocoaPods can help you scale your projects elegantly
-cocoapods.org
從官網(wǎng)的說(shuō)明它抱,CocoaPods是Objective-C和Swift工程的依賴包管理工具秕豫。類似于Node.js的npm,Java的Maven弦讽,或者mac系統(tǒng)的HomeBrew或者Red Hat Linux的 yum等储耐。
為啥要用它叶摄?
- 給項(xiàng)目添加依賴庫(kù)更方便
- 對(duì)于依賴的更新更便捷
如果使用CocoaPods后阅仔,我們只需要把用到的開(kāi)源庫(kù)放到一個(gè)名為Podfile的文件中焚志,然后執(zhí)行pod install就可以了亿絮,Cocoapods就會(huì)自動(dòng)將這些第三方開(kāi)源庫(kù)的源碼下載下來(lái)卵蛉,并且為我們的工程設(shè)置好響應(yīng)的系統(tǒng)依賴和編譯參數(shù)娘纷。
想象一下回铛,如果沒(méi)有Pod狗准,要把項(xiàng)目依賴的十幾個(gè)甚至幾十個(gè)依賴挨個(gè)下載、拖進(jìn)工程勺届。如果依賴有升級(jí)或更新需要重新下載驶俊、再覆蓋工程原有的,要是第三方lib之間還存在相互依賴的話...
Pod 的安裝
Pod 由Ruby構(gòu)建免姿,OS X系統(tǒng)默認(rèn)自帶Ruby饼酿,所以可以使用系統(tǒng)自帶的Ruby安裝pod
$ sudo gem install cocoapods
以上是官網(wǎng)上的安裝說(shuō)明,看起來(lái)很簡(jiǎn)單對(duì)吧?(? ? ??)~
但是胚膊,在天朝你會(huì)發(fā)現(xiàn)故俐,命令執(zhí)行可能很慢,數(shù)小時(shí)可能都玩不了紊婉,因?yàn)槲覀兊膲?..我實(shí)在不知道Ruby這種東西為什么還要墻呢药版? 所以針對(duì)天朝的開(kāi)發(fā)者,有一下解決方案:
1. 用梯子
2.使用淘寶鏡像(淘寶已停用喻犁,改用ruby china)
//首先移除原有的鏡像
$ gem sources --remove https://rubygems.org/
//等有反應(yīng)之后再敲入以下命令
$ gem sources --add https://gems.ruby-china.org/
淘寶鏡像設(shè)置完成槽片,驗(yàn)證一下:
$ gem sources -l
如果出現(xiàn)以下,說(shuō)明鏡像設(shè)置成功:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
切換淘寶鏡像后肢础,再 sudo gem install cocoapods就可以了
查找第三方類庫(kù)
項(xiàng)目在導(dǎo)入第三方類庫(kù)前还栓,最好在pod中搜索一下pod是否收錄了此類庫(kù)
例如搜索AFNetworking
pod search AFNetworking
使用pod導(dǎo)入項(xiàng)目
首先在工程根目錄新建一個(gè)名為Podfile的文件,格式如下:
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
然后執(zhí)行
pod install
注意传轰,** 如果你是使用Swift開(kāi)發(fā)剩盒,一定不要忘記Podfile中的 use_frameworks!,否則會(huì)出錯(cuò)。**原因是大概是因?yàn)镾wift的運(yùn)行時(shí)庫(kù)沒(méi)有包含在iOS 框架中慨蛙,這里不做贅述辽聊。
使用pod新建Xcode項(xiàng)目
上面介紹了是在項(xiàng)目中加入pod的方法,通常在項(xiàng)目建立時(shí)就使用pod期贫,方法如下:
- 首先使用Xcode新建一個(gè)項(xiàng)目
- 然后Terminal cd至項(xiàng)目根目錄
- 運(yùn)行 $ pod init
- 打開(kāi) PodFile 然后編輯跟匆,注意平臺(tái)類型,加入需要的類庫(kù)通砍,保存
- 運(yùn)行 $ pod install
[使用pod后贾铝,打開(kāi)項(xiàng)目時(shí),要從.xcworkspace打開(kāi)]
pod install和 pod update
注意:pod install 會(huì)按照Podfile中的版本好導(dǎo)入類庫(kù)埠帕,如果file中的版本不是最新的垢揩,那么可能會(huì)出現(xiàn)錯(cuò)誤,這時(shí)候就要使用 pod update 然后在 pod install了敛瓷。
CocoaPods的原理是將所有的依賴庫(kù)都放到另一個(gè)名為Pods的項(xiàng)目中叁巨,然后讓主項(xiàng)目依賴Pods項(xiàng)目,這樣呐籽,源碼管理工作都從主項(xiàng)目移到了Pods項(xiàng)目中锋勺。Pods項(xiàng)目最終會(huì)編譯成一個(gè)名為libPods.a的文件,主項(xiàng)目只需要依賴這個(gè).a文件即可狡蝶。