iOS 之CocoaPods

為什么要使用CocoaPods?

第三方框架使用,手動導(dǎo)入時(shí),工程文件的配置會很麻煩。在配置buildphases和linkerflags過程中,會引起許多人為因素的錯誤。CocoaPods 簡化了這一切,它能夠自動配置編譯選項(xiàng)。?

CocoaPods的原理

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

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

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

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

一、CocoaPods安裝:

?Mac下都自帶ruby,使用ruby的gem命令即可下載安裝:?

》安裝CocoaPods

sudo gem install cocoapods

》設(shè)置 pod 倉庫

pod setup

》測試

pod --version?

》卸載CocoaPods

sudo gem uninstall cocoapods

注意:

?》如果gem太老可能會有問題,所以安裝之前最好升級一下

gem sudo gem update --system


》ruby的軟件源rubygems.org使用的亞馬遜的云服務(wù)被墻了,所以需要更新一下ruby的源,如下代碼將官方的ruby源替換成國內(nèi)淘寶源

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

gem sources -l

》pod setup在執(zhí)行時(shí),會輸出Setting up CocoaPods master repo,但是會等待比 較久的時(shí)間。這步其實(shí)是Cocoapods在將它的信息下載到?~/.cocoapods目錄 下,如果你等太久,可以試著cd到那個目錄,用du -sh *來查看下載進(jìn)度。你 也可以參考本文接下來的使用cocoapods的鏡像索引一節(jié)的內(nèi)容來提高下載速 度。

》使用CocoaPods的鏡像索引所有的項(xiàng)目的Podspec文件都托管在https://github.com/CocoaPods/Specs。第一 次執(zhí)行pod setup時(shí),CocoaPods會將這些podspec索引文件更新到本地的~/.cocoapods/目錄下,這個索引文件比較大,有100M左右。所以第一次更新 時(shí)非常慢。

為了提高下載速度, 可以將文件托管地址從github替換為國內(nèi)oschina,這樣 會快很多。如下操作就可以將github替換為國內(nèi)oschina

pod repo remove master

pod repo add master?

http://git.oschina.net/akuandev/Specs.git

pod repo update

二、CocoaPods使用:

使用時(shí)需要新建一個名為

Podfile的文件

>1.利用vim創(chuàng)建Podfile。 注意:Podfile文件應(yīng)該和你的工程文件.xcodeproj在 同一個目錄下

vim Podfile

>2.將依賴的庫名字依次列在文件中

platform :ios

pod 'JSONKit', '~> 1.4'

pod'Reachability', '~>3.0.0'

pod'AFNetworking', '2.0.0'?

pod 'RegexKitLite'?

>3.保存并退出 按下esc,然后輸入:wq?

>4.利用CocoPods下載類庫pod install

注意:

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

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

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

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

pod install --no-repo-update

pod update --no-repo-update

三、查找第三方庫 你如果不知道cocoaPods管理的庫中,是否有你想要的庫,那么你可以通過pod search命令進(jìn)行查找,以下是我用pod search json查找到的所有可用的庫:

pod search AFNetworking

四:參考文獻(xiàn)?

用CocoaPods做iOS程序的依賴管理:

CocoaPods最佳實(shí)踐:

極速化 CocoaPods:

深入理解CocoaPods:

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

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

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