什么是Cocoapods
在iOS開發(fā)中勢必會用到一些第三方依賴庫雪营,比如大家都熟悉的ASIHttpRequest、AFNetworking洋访、JSONKit等谴餐。使用這些第三方類庫能極大的方便項(xiàng)目的開發(fā),但是汁展,集成這些依賴庫需要我們手動去配置厌殉,例如集成ASIHttpRequest庫時(shí)除了加入源碼以外還需要手動去添加一些系統(tǒng)框架,比如CFNetwork器紧、MobileCoreServices等楼眷,如果這些第三方庫發(fā)生了更新,還需要手動去更新項(xiàng)目罐柳。這就顯得非常麻煩张吉。有麻煩自然有解決辦法,CocoaPods就是為了解決這個(gè)問題而生的肮蛹。通過CocoaPods,我們可以將第三方的依賴庫統(tǒng)一管理起來酵幕,配置和更新只需要通過簡單的幾行命令即可完成缓苛,大大的提高了實(shí)際開發(fā)中的工作效率,使我們的主要精力集中到更重要的事情上去笔刹。
安裝cocoapods
1.升級Ruby環(huán)境
終端輸入:$gem update --system
此時(shí)會出現(xiàn)錯誤
這個(gè)是因?yàn)槟銢]有權(quán)限去更新ruby冬耿,這時(shí)候在終端輸入$sudo gem update —system來進(jìn)行升級
這個(gè)時(shí)候表示ruby升級完成亦镶。
2.安裝CocoaPods時(shí)我們要訪問cocoapods.org袱瓮,該網(wǎng)站可能被我們大天朝墻了爱咬,這樣下載安裝可能會是龜速,幸好我們可以用淘寶的Ruby鏡像來訪問該網(wǎng)站燎斩,方法如下:
(1)將ruby的原生鏡像移除
$ gem sources --remove https://rubygems.org/
(2)用淘寶的鏡像代替
$ gem sources -a https://ruby.taobao.org/
(3)查看是否設(shè)置成功
$ gem sources -l
(4)安裝Cocoapods
$ sudo gem install cocoa pods
(5)查看Cocoapods是否支持某個(gè)類庫蜂绎,只要能夠查詢到框架就表明這個(gè)這臺電腦Cocoapods已經(jīng)安裝成功。
$ pod search 類庫名
支持模糊查詢(如:AFNetworking),如果下面顯示出AFNetworking框架的各個(gè)版本就代表Cocoapods安裝完成怪瓶。
ruby升級
可能在安裝Cocoapods的時(shí)候坛吁,由于ruby版本的問題,會出現(xiàn)錯誤哆姻,不能繼續(xù)安裝玫膀。詳見博客網(wǎng)址為:http://www.360doc.com/content/16/0706/14/34885951_573528357.shtml
1帖旨、安裝 RVM
$ curl -L get.rvm.io | bash -s stable
等待一段時(shí)間后就可以成功安裝好 RVM。
$ source ~/.bashrc
$ source ~/.bash_profile
測試是否安裝正常?
?$ rvm -v
2落竹、用RVM升級Ruby
#查看當(dāng)前ruby版本
$ ruby -v
ruby 1.8.7
#列出已知的ruby版本
$ rvm list known
#安裝ruby 1.9.3
$ rvm install 1.9.3
安裝完成之后ruby -v查看是否安裝成功货抄。
安裝cocoa pods成功:
使用search命令搜索類庫名:
$pod search AFNetworking
可能網(wǎng)速或者其他原因,會卡在這里很久
出現(xiàn)Setting up CocoaPods master repo蟹地,說明Cocoapods正在將它的信息下載到 ~/.cocoapods里,保持這個(gè)終端不動怪与,新打開一個(gè)終端,cd到該目錄里遍愿,用du -sh 命令來查看文件大小,每隔幾分鐘查看一次错览,大小會一直增加煌往,直到下載完成。如果不成功羞海,在下面會顯示一個(gè)git的網(wǎng)址曲管,在這個(gè)網(wǎng)址下載相應(yīng)的文件放在~/.cocoapods相應(yīng)的文件夾便可。
在項(xiàng)目中使用Cocoapods
我們通過集成MJRefresh類庫來演示如何使用CocoaPods來做依賴庫管理腊徙。首先檬某,建立一個(gè)xcode工程,命名為CocoaPodDemo恢恼。
1.檢查MJRefresh是否支持Cocoapods,支持模糊查詢
$ pod search mjrefresh
出現(xiàn)Setting up CocoaPods master repo场斑,說明Cocoapods正在將它的信息下載到 ~/.cocoapods里,保持這個(gè)終端不動漏隐,新打開一個(gè)終端,cd到該目錄里挺据,用du -sh命令來查看文件大小爽柒,每隔幾分鐘查看一次,我的這個(gè)目錄最終大小是211M浩村,就是完成了心墅。如果不成功榨乎,在下面會顯示一個(gè)git的網(wǎng)址瘫筐,在這個(gè)網(wǎng)址下載相應(yīng)的文件放在~/.cocoapods相應(yīng)的文件夾便可。
*執(zhí)行后通過輸出結(jié)果可以看到mjrefresh是支持CocoaPods的肛捍,注意紅框標(biāo)記的內(nèi)容之众,這是待會我們配置xcode時(shí)需要的信息,這條配置項(xiàng)就是告訴CocoaPods去下載和管理第三方庫的哪一個(gè)版本棺禾。如果搜索過后最下面出現(xiàn)一個(gè):,則直接點(diǎn)擊q便可退出。
2.來到工程目錄下,創(chuàng)建一個(gè)Podfile文件
$ cd /Users/gaomao/Desktop/XcodeDemo/CocoaPodDemo
$ vim Podfile
利用終端運(yùn)行以上代碼會在工程里打開一個(gè)名為Podfile(注意大小寫)的文件缺前。如果有這個(gè)文件會在終端中打開悬襟,如果沒有這個(gè)文件會新建后打開衅码。這個(gè)Podfile文件的作用是配置依賴庫信息,就是告訴CocoaPods去下載和管理哪些依賴庫古胆。
3.使用vim編輯Podfile文件
版本號可以根據(jù)自己的需求改變肆良。vim打開文件后按i進(jìn)入插入模式,編輯完成后按esc退出編輯模式逸绎,接著輸入:wq保存并退出文件惹恃。保存以后可以在C文件夾里驗(yàn)證一下是否有Cocoapods這個(gè)文件。下圖中我寫了好幾個(gè)框架棺牧。
4.將第三方庫集成到項(xiàng)目中
如果之前的全部工作都完成了巫糙,工程目錄下就會有一個(gè)Podfile文件了,注意必須和.xcodeproj在同一個(gè)目錄下颊乘。接下來就可以使用CocoaPods來安裝并管理JSONKit庫了,首先確保終端當(dāng)前路徑是在CocoaPodsTest目錄下乏悄。
$ pwd? 可以查看當(dāng)前終端所處的路徑浙值。
路徑?jīng)]有問題后運(yùn)行
$ pod install? 將Podfile文件中的第三方庫集成在項(xiàng)目中。
安裝結(jié)束以后會有如下提示(請關(guān)閉Xcode檩小,從此使用CocoapodsTest.xcworkspace打開項(xiàng)目)
Please close any current Xcode sessions and use? ? `CocoaPodsTest.xcworkspace` for this project from now on.
然后开呐,通過xcoworkspace打開項(xiàng)目,就看到了Pods集成的第三方庫
如果出現(xiàn)卡在analyzing dependencies的解決方案:第一次執(zhí)行pod install的時(shí)候,會自動執(zhí)行pod setup筐付。不掛VPN肯定是無法執(zhí)行的卵惦,所以可以添加如下參數(shù):
pod install --verbose --no-repo-update
添加多個(gè)第三方庫
修改工程中的Podfile文件,添加一行瓦戚,如下
pod 'AFNetworking', '~> 3.1.0'
然后再次將Podfile文件集成到項(xiàng)目中沮尿,刪除某個(gè)第三方庫也是刪除文件中類似上面的行;執(zhí)行指令较解,然后進(jìn)入項(xiàng)目查看即可畜疾。
參考文章:http://www.reibang.com/p/8a592ae2bff6