一羹膳、什么是CocoaPods
CocoaPods是一個第三方庫管理工具梗劫,通過它我們可以為項目添加被稱為Pods的依賴庫(前提是這些類庫必須是CocoaPods本身多支持的)丛楚,并且可以很方便的管理版本在使用
CocoaPods之前届慈,開發(fā)項目需要用到第三方開源庫的時候徒溪,我們需要
1.把開源庫的源代碼復(fù)制到項目中或者是將SDK直接導(dǎo)入到工程中
2.添加一些依賴框架和動態(tài)庫
3.設(shè)置-ObjC,-fno-objc-arc等參數(shù)
4.管理他們的更新
在使用CocoaPods后金顿,我們只需要把用到的開源庫放到一個名為Podfile的文件中臊泌,然后執(zhí)行終端命令就會自動將這些第三方開源庫的源碼下載下來,并且為我們的工程設(shè)置好響應(yīng)的系統(tǒng)依賴和編譯參數(shù)揍拆。
二渠概、CocoaPods的原理
CocoaPods的原理是將所有的依賴庫都放到另一個名為Pods的項目中,然后讓主項目依賴Pods項目礁凡,這樣高氮,源碼管理工作都從主項目移到了Pods項目中。Pods項目最終會編譯成一個名為libPods.a的文件顷牌,主項目只需要依賴這個.a文件即可
三剪芍、CocoaPods的安裝(重點)
我們通過Mac自帶的ruby環(huán)境進(jìn)行安裝CocoaPods
步驟如下:
1.查看gem是否為最新版本
輸入命令:sudo gem update --system
執(zhí)行命令后如果顯示:Latest version currently installed. Aborting,說明當(dāng)前已經(jīng)是最新版本窟蓝,無需再升級罪裹。如果顯示RubyGems system software updated,說明升級成功
2.輸入命令:sudo gem install cocoapods
執(zhí)行完這句命令后如果報錯:
問題一:
解決辦法:輸入命令:sudo gem install -n /usr/local/bin cocoapods
問題二:
這是因為ruby的軟件源rubygems.org因為使用亞馬遜的云服務(wù)运挫,被我天朝屏蔽了状共,需要更新一下ruby的源,步驟如下:
1)gem sources -l? 查看當(dāng)前ruby的源
2)gem sources --remove https://rubygems.org/? 移除rubyhttps://rubygems.org/
3)gem sources -a https://ruby.taobao.org/? (替換ruby為https://gems.ruby-china.com/? 如果淘寶的失效使用此鏈接)
4)gem sources -l 再次查看ruby源是否替換成功
3.重新執(zhí)行安裝下載命令:sudo gem install cocoapods
(如果提示沒權(quán)限使用:sudo gem install -n /usr/local/bin cocoapods)
4.進(jìn)行安裝谁帕,執(zhí)行命令:pod setup
(當(dāng)安裝多個xcode 出錯時候運行下列:sudo xcode-select -switch /Applications/Xcode最高版本的xcode版本號.app/Contents/Developer
例如:裝了Xcode7,Xcode8,Xcode9.0—>sudo xcode-select -switch /Applications/Xcode9.0.app/Contents/Developer)
四峡继、CocoaPods的使用
1、新建一個工程
2匈挖、打開終端碾牌,定位到工程根目錄下
3.執(zhí)行命令:touch Podfile(創(chuàng)建一個Podfile的文件康愤,不能換成其他的名字,也可以在工程根目錄下直接創(chuàng)建)
{3.等效于: pod init}
4.執(zhí)行命令:vi Podfile (打開Podfile文件)
Podfile文件的格式為:platform :ios, '7.0'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5.搜索需要集成的庫舶吗,執(zhí)行命令:pod search 需要搜索的庫
6.在文件中添加要使用的第三方庫征冷,再次打開Podfile文件
執(zhí)行命令:pod ‘AFNetworking’,‘~>2.5.3’
(4,5誓琼,6等效于platform :ios, '7.0'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? target 'MyApp' do
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pod 'AFNetworking', '~> 2.6'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pod 'ORStackView', '~> 3.0'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pod 'SwiftyJSON', '~> 2.3'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? end
)
(然后保存退出检激。vim環(huán)境下,保存退出命令是:
第一步----> ?按'esc鍵
第二部----> ?:wq或者shift+z+z
7.使用pod install安裝第三方庫
執(zhí)行完命令后出現(xiàn):Updating local specs repositories說明安裝成功
8.如果要卸載CocoaPods腹侣,則執(zhí)行命令:sudo gem uninstall cocoapods
五叔收、以后使用的時候切記如下兩點:
1.從此以后需要使用Cocoapods生成的 .xcworkspace文件來打開工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件筐带,都需要重新執(zhí)行一次pod update命令
3.當(dāng)執(zhí)行pod install之后今穿,除了Podfile,還會生成一個名為Podfile.lock的文件伦籍,它會鎖定當(dāng)前各依賴庫的版本蓝晒,之后即使多次執(zhí)行pod install也不會更改版本,只有執(zhí)行pod update才會改變Podfile.lock.在多人協(xié)作的時候帖鸦,這樣可以防止第三方庫升級時候造成大家各自的第三方庫版本不一致芝薇。所以在提交版本的時候不能把它落下,也不要添加到.gitignore中.