Cocoapods的安裝以及使用

0、CocoaPods是什么?

CocoaPods是開(kāi)發(fā)OS X和iOS應(yīng)用程序的一個(gè)第三方庫(kù)的依賴(lài)管理工具。利用CocoaPods,可以定義自己的依賴(lài)關(guān)系(稱(chēng)作pods),并且隨著時(shí)間的變化,以及在整個(gè)開(kāi)發(fā)環(huán)境中對(duì)第三方庫(kù)的版本管理非常方便。

CocoaPods背后的理念主要體現(xiàn)在兩個(gè)方面。

首先,在工程中引入第三方代碼會(huì)涉及到許多內(nèi)容。針對(duì)Objective-C初級(jí)開(kāi)發(fā)者來(lái)說(shuō),工程文件的配置會(huì)讓人很沮喪。在配置buildphases和linker flags過(guò)程中,會(huì)引起許多人為因素的錯(cuò)誤。CocoaPods簡(jiǎn)化了這一切,它能夠自動(dòng)配置編譯選項(xiàng)。

其次,通過(guò)CocoaPods,可以很方便的查找到新的第三方庫(kù)。當(dāng)然,這并不是說(shuō)你可以簡(jiǎn)單的將別人提供的庫(kù)拿來(lái)拼湊成一個(gè)應(yīng)用程序。它的真正作用是讓你能夠找到真正好用的庫(kù),以此來(lái)縮短我們的開(kāi)發(fā)周期和提升軟件的質(zhì)量。

CocoaPods的原理: ?它是將所有的依賴(lài)庫(kù)都放到另一個(gè)名為Pods項(xiàng)目中,然后讓主項(xiàng)目依賴(lài)Pods項(xiàng)目,這樣,源碼管理工作都從主項(xiàng)目移到了Pods項(xiàng)目中:

1、Pods項(xiàng)目最終會(huì)編譯成一個(gè)名為libPods.a的文件,主項(xiàng)目只需要依賴(lài)這個(gè).a文件即可。

2、對(duì)于資源文件,CocoaPods提供了一個(gè)名為Pods-resources.sh的bash腳本,該腳本在每次項(xiàng)目編譯的時(shí)候都會(huì)執(zhí)行,將第三方庫(kù)的各種資源文件復(fù)制到目標(biāo)目錄中。

3、CocoaPods通過(guò)一個(gè)名為Pods.xcconfig的文件來(lái)在編譯時(shí)設(shè)置所有的依賴(lài)和參數(shù)。



1、Cocoapods的安裝

1.先升級(jí) ?Gem:

sudo gem update --system

2.切換 ? cocoapods的數(shù)據(jù)源 【先刪除,再添加,查看】

? ?gem sources --remove https://rubygems.org/

? gem sources -a https://ruby.taobao.org/

? gem sources -l

3.安裝 ?cocoapods sudo gem install cocoapods

4.將Podspec文件托管地址從github切換到國(guó)內(nèi)的oschina 【先刪除,再添加,再更新】(以下不同顏色是用來(lái)區(qū)分不同的命令)

pod repo remove master

pod repo add master http://git.oschina.net/akuandev/Specs.git

pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update

5.設(shè)置pod倉(cāng)庫(kù) ? ?pod setup

6.測(cè)試 【如果有版本號(hào),則說(shuō)明已經(jīng)安裝成功】 ? ?pod --version

7.利用 cocoapods來(lái)安裝第三方框架

? ? 7-1 進(jìn)入要安裝框架的項(xiàng)目的.xcodeproj同級(jí)文件夾

? ? 7-2 在該文件夾中新建一個(gè)文件podfile

? ? 7-3 在文件中告訴cocoapods需要安裝的框架信息 a.該框架支持的平臺(tái) b.適用的iOS版本 c.框架的名稱(chēng) d.框架的版本

8.安裝 ? ?pod install --no-repo-update ? ? ?pod update --no-repo-update



2、終端如何使用cocopods:

步驟:

0. cd 項(xiàng)目路徑 (切換到項(xiàng)目的.xcodeproj同級(jí)文件夾)

1. touch podfile/pod init生成podfile文件 ?(創(chuàng)建podfile,用來(lái)保存框架的名稱(chēng),會(huì)去加載指定框架)(補(bǔ)充區(qū)別:touch podfile生成空文件,pod init生成了模板,建議使用pod init)

2. pod search 框架名稱(chēng) (搜索框架)

3. open podfile ?(打開(kāi) podfile 文件/也可以找到文件直接雙擊打開(kāi))

4. 把框架名稱(chēng)以及版本號(hào)導(dǎo)入podfile文件 (記得保存Ctrl + S)

5.

? ?5.1 ?pod update ?--verbose?--no-repo-update /?pod update ?--no-repo-update(安裝)

? ? 5.2 ?pod install ?--verbose?--no-repo-update /?pod install ?--no-repo-update



注意:

1.利用CocoPods管理類(lèi)庫(kù)后,以后打開(kāi)項(xiàng)目就用xxxx.xcworkspace打開(kāi),而不是之前的.xcodeproj文件

2.每次更改了Podfile文件,你需要重新執(zhí)行一次pod update命令。

3.關(guān)于.gitignore 當(dāng)你執(zhí)行pod install之后,除了Podfile外,CocoaPods還會(huì)生成一個(gè)名為Podfile.lock的文件,你不應(yīng)該把這個(gè)文件加入到.gitignore中。因?yàn)镻odfile.lock會(huì)鎖定當(dāng)前各依賴(lài)庫(kù)的版本,之后如果多次執(zhí)行pod install不會(huì)更改版本,要pod update才會(huì)改Podfile.lock了。這樣多人協(xié)作的時(shí)候,可以防止第三方庫(kù)升級(jí)時(shí)造成大家各自的第三方庫(kù)版本不一致。

4. CocoaPods在執(zhí)行pod install和pod update時(shí),會(huì)默認(rèn)先更新一次CocoPods的spec倉(cāng)庫(kù)索引。使用--no-repo-update參數(shù)可以禁止其做索引更新操作

pod install --no-repo-update h

pod update --no-repo-update



3、終端命令使用cocoPods演示:

終端命令演示圖

tip(提示): ? open podfile之后 寫(xiě)入podfile文件的內(nèi)容之后如下(記得保存Ctrl + S)

podfile文件圖



4、Xcode可以直接使用cocoPods:

1.借助別人寫(xiě)的第三方框架cocoapods-xcode-plugin-master,首先去github下載這個(gè)框架(網(wǎng)址在后面)

github圖

2.下載好之后解壓,用Xcode打開(kāi)CocoaPods.xcworkspace

打開(kāi)cocoPods項(xiàng)目

3.運(yùn)行CocoaPods.xcworkspace ? 之后,關(guān)閉Xcode(Ctrl + Q)注意是退出Xcode,不只是關(guān)閉當(dāng)前CocoaPods.xcworkspace的項(xiàng)目,然后再重新打開(kāi)Xcode(有提示: load Bundle),安裝成功按照操作就會(huì)有如下界面:

Xcode成功安裝CocoPods圖

四:參考文獻(xiàn)

1、用CocoaPods做iOS程序的依賴(lài)管理:(這個(gè)可能無(wú)法訪問(wèn)界面):www.devtang.com

2、CocoaPods最佳實(shí)踐: ?Sina Visitor System

3、極速化:CocoaPods:http://www.cocoachina.com/ios/20150123/11002.html

4、深入理解:CocoaPods:http://objccn.io/issue-6-4/


五、安裝cocoapods時(shí)出現(xiàn)錯(cuò)誤

ERROR: ?While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

解決辦法:sudo gem install -n /usr/local/bin cocoapods

參考資料:

http://segmentfault.com/q/1010000002926243

治標(biāo)不治本,下一次還會(huì)再出現(xiàn),永久解決辦法:

下載命令行工具:

http://brew.sh

下載過(guò)后,運(yùn)行命令行:brew install ruby

http://stackoverflow.com/questions/33015875/operation-not-permitted-usr-bin-update-rubygems

附:CocoaPods.xcworkspace的github下載地址:GitHub - heyuan110/PodsRepertory: cocopods repertory


Ruby 升級(jí):

http://t.zoukankan.com/ivonne-p-5705264.html


Homebrew 安裝:

https://zhuanlan.zhihu.com/p/90508170


Mac Cocoapods下載慢的解決方案

http://www.itdecent.cn/p/47fda220413e

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容