CocoaPods是iOS依賴管理的工具羹应,類似于android中的Maven叛氨,使用它可以避免一些毫無技術(shù)含量的浪費(fèi)時(shí)間的操作步驟(類似上一節(jié)的拖拽copy)持钉,我們只需要將用到的第三方開源庫放到一個(gè)名為 Podfile 的文件中淀衣,然后執(zhí)行pod install昧港, CocoaPods 就會(huì)自動(dòng)將這些第三方開源庫的源碼下載下來,并且為工程設(shè)置好相應(yīng)的系統(tǒng)依賴和編譯參數(shù)逻住。
安裝
安裝方式異常簡單 , Mac 下都自帶 ruby钟哥,使用 ruby 的 gem 命令即可下載安裝:
$ sudo gem install cocoapods
$ pod setup
如果你的 gem 太老,可能也會(huì)有問題瞎访,可以嘗試用如下命令升級(jí) gem:
sudo gem update --system
另外腻贰,ruby 的軟件源 https://rubygems.org 因?yàn)槭褂玫氖莵嗰R遜的云服務(wù),所以被墻了扒秸,需要更新一下 ruby 的源播演,使用如下代碼將官方的 ruby 源替換成國內(nèi)淘寶的源:
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l
還有一點(diǎn)需要注意,pod setup在執(zhí)行時(shí)伴奥,會(huì)輸出Setting up CocoaPods master repo写烤,但是會(huì)等待比較久的時(shí)間。
以上步驟只有第一次安裝時(shí)才需要拾徙,后面直接跳過
使用
在項(xiàng)目最外層新建一個(gè)Podfile文件洲炊,new File... > iOS > Other > Empty ,命名為Podfile尼啡,沒有后綴
在該文件中輸入下面內(nèi)容暂衡,這里我們使用一個(gè)圖片加載的第三方庫Kingfisher來演示,項(xiàng)目地址https://github.com/onevcat/Kingfisher
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Kingfisher', '~> 1.8'
如果后面我們需要繼續(xù)添加一個(gè)網(wǎng)絡(luò)請(qǐng)求的第三方庫崖瞭,我們可以直接在后面加上別名和版本號(hào)即可
pod 'Alamofire', '~> 3.0'
然后我們關(guān)掉Xcode狂巢,到launchpad > 其他 > 終端 中輸入下面內(nèi)容:
cd "your project home"
pod install
回車執(zhí)行,稍等一會(huì)后不出意外的話你將看到下面內(nèi)容
himideMacBook-Pro:demo1 himi$ cd /Users/himi/Desktop/demo1
himideMacBook-Pro:demo1 himi$ pod install
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing Kingfisher (1.8.2)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `demo1.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total
pod installed.
himideMacBook-Pro:demo1 himi$
我們查看一下項(xiàng)目的Finder书聚,可以看到多了一個(gè)demo1.xcworkspace的文件唧领,現(xiàn)在代态,你的所有第三方庫都已經(jīng)下載完成并且設(shè)置好了編譯參數(shù)和依賴,你只需要記住如下 2 點(diǎn)即可:
使用 CocoaPods 生成的 .xcworkspace 文件來打開工程疹吃,而不是以前的 .xcodeproj 文件。
每次更改了 Podfile 文件西雀,你需要重新執(zhí)行一次pod update命令萨驶。
然后我們打開這個(gè)文件,看到原來的目錄結(jié)構(gòu)多了一個(gè)Pods
剛才我們示例添加的是一個(gè)圖片加載的第三方艇肴,我們可以像這樣直接使用:
import Kingfisher
imageView.kf_setImageWithURL(NSURL(string: "http://your_image_url.png")!)
這樣使用CocoaPods來添加第三方庫已經(jīng)講解完了腔呜,它與直接拖拽的不同之處就是能很方便的更新、添加再悼、刪除核畴,讓你的項(xiàng)目結(jié)構(gòu)更清晰,更便于管理冲九。