CocoaPods 從安裝到使用
沒(méi)用使用CocoaPods之前:
我們需要將第三方的源代碼文件復(fù)制到項(xiàng)目中
可能需要各種配置
需要關(guān)注依賴(lài)包的更新,并手動(dòng)處理
這些活很煩、沒(méi)含量冕末、浪費(fèi)時(shí)間。這些問(wèn)題隨著CocoaPods的出現(xiàn)气笙,問(wèn)題解決了得哆!
CocoaPods作為iOS開(kāi)發(fā)的依賴(lài)管理工具,它的出現(xiàn)可以給開(kāi)發(fā)者節(jié)省更多時(shí)間虽画、免除不必要的煩惱舞蔽。安裝好CocoaPods之后,你只需要將用到第三方開(kāi)源庫(kù)码撰、自己的私有庫(kù)放到一個(gè)名為Podfile的文件中渗柿,然后在其目錄下執(zhí)行pod install。CocoaPods會(huì)將這些類(lèi)庫(kù)的源碼下載下來(lái)脖岛,并且為你的工程設(shè)置好相應(yīng)的系統(tǒng)依賴(lài)和編譯參數(shù)朵栖。
Mac 下都自帶 ruby ,但是經(jīng)過(guò)我的實(shí)驗(yàn)柴梆,不同版本的 ruby 安裝出的 cocoapods 的版本也是不同陨溅。我在沒(méi)有更新ruby 的情況下安裝的 cocoapods 是0.39.0版本,更新 ruby 之后
ruby --version
#ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
當(dāng)然是用0.39.0的cocoapods绍在,也是可以正常使用的门扇。
若更新 ruby,你需要使用Homebrew揣苏。安裝 Homebrew :
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew 的簡(jiǎn)單使用:
搜索軟件:brew search 軟件名悯嗓,如brew search wget
安裝軟件:brew install 軟件名,如brew install wget
卸載軟件:brew remove 軟件名卸察,如brew remove wget
使用 Homebrew 更新 ruby:
brew install ruby
gem sources 的處理脯厨。ruby 的軟件源https://rubygems.org因?yàn)槭褂玫氖莵嗰R遜的云服務(wù),所以被墻了坑质,需要更新一下 ruby 的源合武,使用如下代碼將官方的 ruby 源替換成國(guó)內(nèi)淘寶的源:
gem sources -l
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/(淘寶鏡像源現(xiàn)在不再更新临梗,所以現(xiàn)在使用gem sources -a https://gems.ruby-china.org,具體參考https://ruby-china.org/topics/29250)
gem sources -l
升級(jí) gem
sudo gem update --system
使用 ruby 的 gem 命令安裝 cocoapods:
sudo gem install cocoapods
pod setup
pod setup執(zhí)行后稼跳,會(huì)輸出Setting up CocoaPods master repo盟庞,這一步驟是Cocoapods將它的信息下載到~/.cocoapods目錄下,耗時(shí)會(huì)比較久汤善。這時(shí)你只要耐心等待就好什猖。
配置完成之后,查看 cocoapods 版本:
pod --version
#1.0.1 //之后版本變化红淡,都會(huì)是 cocoapods 的最新版本
查找你要使用的第三方庫(kù)不狮,比如搜索 BHNetwork
pod search BHNetwork
#-> BHNetwork (0.0.1)
#? 離散式請(qǐng)求,對(duì)AFNetworking的二次封裝
#? pod 'BHNetwork', '~> 0.0.1'
#? - Homepage: https://github.com/iBinaryOrg/BHNetwork
#? - Source:? https://github.com/iBinaryOrg/BHNetwork.git
#? - Versions: 0.0.1 [master repo]
#? - Subspecs:
#? ? - BHNetwork/BHNetworkLogger (0.0.1)
#? ? - BHNetwork/BHNetworkProtocol (0.0.1)
#? ? - BHNetwork/BHNetwork (0.0.1)
CocoaPods 的神奇都是起源于 Podfile 文件開(kāi)始的在旱。進(jìn)入到工程的根目錄摇零,創(chuàng)建空白的 Podfile 文件:
cd 你的工程根目錄
touch Podfile
Podfile 的編輯工作,推薦使用 xcode 進(jìn)行編寫(xiě)桶蝎。
platform :ios, '7.0'
target :指定的Target do
#約束布局
pod 'Masonry', '~> 0.6.4'
#數(shù)據(jù)請(qǐng)求
pod 'BHNetwork', '~> 0.0.1'
#極光推送
pod 'JPush', '~> 2.1.5'
end
cocoapods 版本更新驻仅,Podfile文件中必須要加入target語(yǔ)句。
編輯好 Podfile 文件之后登渣。進(jìn)入到工程目錄下(Podfile文件也在此目錄下)噪服,然后執(zhí)行pod install命令。這時(shí)绍豁,CocoaPods就開(kāi)始為我們做源碼下載芯咧、配置依賴(lài)關(guān)系等工作。
cd 你的工程根目錄
pod install
pod install 命令執(zhí)行成功只有竹揍,工程根目錄會(huì)多了.xcworkspace、Podfile.lock邪铲、Pods三個(gè)文件芬位。
之后,我們的開(kāi)發(fā)將是使用后綴為.xcworkspace的文件來(lái)開(kāi)發(fā)的带到。
你可以更改 Podfile 文件昧碉,來(lái)調(diào)整你工程的依賴(lài)庫(kù)。
cd 你的工程根目錄
pod update
你可以使用pod update --no-repo-update來(lái)替換pod update揽惹,都說(shuō)替換之后被饿,執(zhí)行會(huì)快一點(diǎn)。
當(dāng)你執(zhí)行pod install之后搪搏,CocoaPods 還會(huì)生成一個(gè)名為Podfile.lock的文件狭握,Podfile.lock應(yīng)該加入到版本控制里面,不應(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ù)版本不一致漏设。