一、CocoaPads是什么
????當(dāng)你開(kāi)發(fā)iOS應(yīng)用時(shí),會(huì)經(jīng)常使用到很多第三方開(kāi)源類庫(kù),比如JSONKit,AFNetWorking等等??赡苣硞€(gè)類庫(kù)又用到其他類庫(kù),所以要使用它,必須得另外下載其他類庫(kù),而其他類庫(kù)又用到其他類庫(kù),“子子孫孫無(wú)窮盡也”,這也許是比較特殊的情況。總之小編的意思就是,手動(dòng)一個(gè)個(gè)去下載所需類庫(kù)十分麻煩。另外一種常見(jiàn)情況是,你項(xiàng)目中用到的類庫(kù)有更新,你必須得重新下載新版本,重新加入到項(xiàng)目中,十分麻煩。如果能有什么工具能解決這些惱人的問(wèn)題,那將“善莫大焉”。所以,你需要 CocoaPods。
????CocoaPods應(yīng)該是iOS最常用最有名的類庫(kù)管理工具了,上述兩個(gè)煩人的問(wèn)題,通過(guò)cocoaPods,只需要一行命令就可以完全解決,當(dāng)然前提是你必須正確設(shè)置它。重要的是,絕大部分有名的開(kāi)源類庫(kù),都支持CocoaPods。所以,作為iOS程序員的我們,掌握CocoaPods的使用是必不可少的基本技能了。
? ? 現(xiàn)在CocoaPods的公司已經(jīng)出了客戶端,這樣我們也不用在終端(terminal)下創(chuàng)建Podfile配置文件,直接通過(guò)客戶端創(chuàng)建即可。
二、安裝CocoaPods前需要配置ruby環(huán)境
1)、 因?yàn)镸AC系統(tǒng)下已經(jīng)自帶ruby,所以更新一下就行了,在終端輸入以下代碼,再輸入密碼,回車即可。
? ? ? ? 終端輸入:sudo gem update --system

2)、更換Ruby鏡像
????a.首先移除現(xiàn)有的Ruby鏡像
終端輸入:$ gem sources --remove https://rubygems.org/
????b.然后添加國(guó)內(nèi)最新鏡像源(淘寶的Ruby鏡像已經(jīng)不更新了)
終端輸入:$ gem sources -a https://gems.ruby-china.org/? ?(或者:gem sources --add https://gems.ruby-china.com)
? ? c.執(zhí)行完畢之后輸入gem sources -l來(lái)查看當(dāng)前鏡像
終端輸入:$ gem sources -l
如果結(jié)果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
說(shuō)明添加成功,否則繼續(xù)執(zhí)行$ gem source -a https://gems.ruby-china.org/來(lái)添加
三、安裝CocoaPads
終端輸入:sudo gem install -n /usr/local/bin cocoapods
1)、安裝成功大概如下(PS圖網(wǎng)上盜的,因?yàn)槲乙呀?jīng)裝過(guò)了,新裝的加載的gems會(huì)多一點(diǎn)好像)

2)、到這之后再執(zhí)行pod setup
終端輸入:$ pod setup
以前當(dāng)出現(xiàn)Setup completed的時(shí)候說(shuō)明已經(jīng)完成了。
但CocoaPods?1.8開(kāi)始就變了,首先spec repo源有許多種的,以前默認(rèn)是使用master源,所以你執(zhí)行setup的時(shí)候會(huì)把master源里面里面一大坨東西下載下來(lái)
artsy
- Type: git (master)
- URL:? https://github.com/Artsy/Specs.git
- Path: /Users/lius/.cocoapods/repos/artsy
master
- Type: git (master)
- URL:? https://github.com/CocoaPods/Specs.git
- Path: /Users/lius/.cocoapods/repos/master
trunk
- Type: CDN
- URL:? https://cdn.cocoapods.org/
- Path: /Users/lius/.cocoapods/repos/trunk
最近由于我更新了CocoaPods?1.9,以前執(zhí)行setup這步,就會(huì)自動(dòng)下載master源,但現(xiàn)在執(zhí)行這一步的時(shí)候,不會(huì)下載,很快就提示Setup completed,CocoaPods 1.8以后將CDN切換為默認(rèn)的spec repo源,并附帶一些增強(qiáng)功能!不過(guò)現(xiàn)在最好還是用master好點(diǎn),所以升級(jí)了CocoaPods的人可能會(huì)報(bào)錯(cuò)?
[!] CDN: trunk Repo update failed
解決方法:
由于你現(xiàn)在的默認(rèn)源是CDN,可以把它刪了,但其實(shí)這步?jīng)]什么卵用,但我看別人博客說(shuō)最好刪了,那就刪了,但是如果你不在Podfile文件指定master源,還是會(huì)下載回來(lái),因?yàn)槟J(rèn)CDN源
pod repo remove trunk
最好的方法就是在Podfile里面指定源,因?yàn)槲覀円郧岸紱](méi)寫的,因?yàn)槟J(rèn)就是 https://github.com/CocoaPods/Specs.git,所以都是從master里面找的,但是現(xiàn)在默認(rèn)CDN,你Podfile文件沒(méi)指定源就是默認(rèn)CDN,但是從trunk文件夾(CDN源)找不到就會(huì)報(bào)錯(cuò)。所以,我們?cè)赑odfile文件指定下源

source 'https://github.com/CocoaPods/Specs.git'
如果第一次下載CocoaPods,并且版本在1.8以上,就是~/.cocoapods/repos文件夾里面沒(méi)有master這個(gè)文件夾,command + shift + G,填上~/.cocoapods/repos前往,可以重新把它下載下來(lái),注意?pod repo add master https://github.com/CocoaPods/Specs.git 好像用不了了,最好使用下面的命令行
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
再更新下
pod repo update
最好翻下墻,還要用全局代理
四、CocoaPads的使用
A)終端操作
????1)、使用search命令搜索類庫(kù)名,比如查找?MJExtension
終端輸入:pod search MJExtension

(完成后他會(huì)自動(dòng)進(jìn)入一個(gè)新的頁(yè)面顯示搜索結(jié)果,上下滑動(dòng)查看更多,要退出的話按wq就可以了。以后再搜索就不需要建索引了)

(PS:可能還要說(shuō)下,你可能不會(huì)退出這個(gè)頁(yè)面,哈哈,別上下滑回車什么的了,直接在下面輸入q,回車就好)

????2)、Xcode下隨便創(chuàng)建一個(gè)test工程,將文件cd空格+文件路徑,不想打路徑的,直接拖拉就好

????3)、在該文件下創(chuàng)建Podfile文件,這步是關(guān)鍵(PS:podfile是一個(gè)說(shuō)明文件,用以描述管理一個(gè)或者多個(gè)Xcode project的target的依賴庫(kù)。這個(gè)文件應(yīng)該且必須被命名為Podfile。)
終端輸入:touch Podfile

????4)、編輯Podfile文件
? ? ????a)、可以在終端下輸入
終端輸入:vim Podfile

要導(dǎo)入的第三方都要在這里面寫上。進(jìn)去后需要先按I鍵進(jìn)入編輯狀態(tài),寫完后按esc,然后按shift+zz(或者先按shift+:,再按wq)就可以保存退出了。

(PS:不懂Podfile語(yǔ)法的自行百度)
????????b)、其實(shí)上一步可以直接雙擊Podfile文件進(jìn)行編輯,哈哈,學(xué)多一點(diǎn)未必不是好事

????4)、用終端下載Podfile文件所寫的第三方框架到項(xiàng)目文件下
終端輸入:pod install

????(PS:普通工程打開(kāi)的是.xcodeproj文件,而設(shè)置了CocoaPods的工程要打開(kāi).xcworkspace文件,否則會(huì)報(bào)錯(cuò)?linker command failed with exit code 1)
????????打開(kāi)工程后,所有第三方類庫(kù)都由CocoaPods管理,在Pods文件夾下

B)、客戶端操作
? ? 1)、下載鏈接:https://cocoapods.org/app,這個(gè)就不用教了

? ? 2)、創(chuàng)建Podfile文件(下面還是以CocoaPadsTest項(xiàng)目為例)





