搬來(lái)一篇以前的文章??
1 安裝CocoaPods
打開(kāi)終端Terminal 輸入以下命令行
sudo會(huì)授予臨時(shí)的管理員權(quán)限硕勿,所以會(huì)要求輸入密碼
$ sudo gem install -n /usr/local/bin cocoapods
// $ sudo gem install cocoa pods 在 EL Capitan版本之前的Mac系統(tǒng)可以用這句
$ pod setup
2 在項(xiàng)目中使用
2.1 創(chuàng)建Podfile
CocoaPods 的項(xiàng)目依賴管理是依靠于 Podfile
在Terminal中將當(dāng)前文件夾切換到需要使用CocoaPods的項(xiàng)目文件夾中,也就是
.xcodeproj
所在的位置
$ cd /Users/UserName/Documents/CocoaPodsTest
// cd 為打開(kāi)文件夾 后面跟著相對(duì)路徑
// cd 一次之后可以 ls 看當(dāng)前所在的文件夾
$ touch Podfile
// 創(chuàng)建了一個(gè)名 Podfile 的無(wú)后綴文件
$ open -a Xcode Podfile
// 使用Xcode 來(lái)打來(lái)名為 Podfile 的文件
上述命令執(zhí)行完之后就會(huì)在項(xiàng)目文件夾里創(chuàng)建一個(gè)Podfile
的空文件岩梳,并且這個(gè)文件已經(jīng)被Xcode打開(kāi)
在打開(kāi)的空文件中在旱,粘貼下列文字
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'Alamofire', '~> 3.4'
注意??:Swift庫(kù)需要添加
use_frameworks!
到Podfile中波材。而且這個(gè)只支持iOS8及以上系統(tǒng)
Pod 'AFNetworking','~2>.5'
這句是導(dǎo)入2.5版本AFNetWorking
庫(kù),每個(gè)庫(kù)在它們的Github主頁(yè)上都會(huì)有這句話的聲明挺狰。以后只要添加這兩句就可以了
比如添加顯示Gif的庫(kù) Gifu
pod 'Gifu'
就行了
注意??:不要用一般的文字編輯工具來(lái)修改
Podfile
明郭。因?yàn)橐话愕奈淖志庉嫻ぞ呖赡軙?huì)對(duì)一些字符比如引號(hào)進(jìn)行替換,從而導(dǎo)致了Podfile
在執(zhí)行時(shí)發(fā)生錯(cuò)誤她渴。因此推薦使用一些編程軟件达址,比如Xcode
2.2 安裝第三方庫(kù)
現(xiàn)在可以在項(xiàng)目中安裝依賴(第三方庫(kù))了。
$ pod install
這個(gè)命令會(huì)讓CocoaPosa根據(jù)Podfile里面的配置來(lái)下第三方庫(kù)了趁耗。
安裝完之后沉唠,以后打開(kāi)項(xiàng)目就不能只打開(kāi).xcodeproj
而是xcworkspace
$ open youProjectName.xcworkspace
3 pod install
與pod update
區(qū)別
簡(jiǎn)單結(jié)論:
-
pod instal
: 每次編輯完 Podfile 安裝或者移除pod文件的時(shí)候用,它不會(huì)更新已有的pod至最新 -
pod update
: 更新已有的pod至最新苛败。它也有install 的功能满葛,但是如果沒(méi)有明確pod名字會(huì)把全部的pod都更新到最新径簿。
3.1 pod install
在項(xiàng)目第一次獲取pods的時(shí)候用install
命令,每次編輯Podfile, 更新或者刪除
- 每次
pod install
命令運(yùn)行的時(shí)候就會(huì)下載并安裝新的pods文件嘀韧,在每個(gè)Podfile.lock中寫入安裝的版本號(hào)篇亭。 Podfile.lock 文件追蹤每個(gè)pod的已經(jīng)安裝的版本然后鎖定這些版本。 - 當(dāng)你運(yùn)行
pod install
命令時(shí), 它僅僅處理沒(méi)有記錄在Podfile.lock中的依賴锄贷。 it only resolves dependencies for pods that are not already listed in the Podfile.lock
.對(duì)于那些已經(jīng)存在于Podfile.lock中的文件译蒂,該命令下載Podfile.lock中明確的版本,并且不會(huì)去檢查是否存在一個(gè)更新的可用版本谊却。對(duì)于沒(méi)有存在于Podfile.lock中的pods柔昼,該命令搜索匹配Podfile中描述的版本號(hào) (比如 'MyPod', '~>1.2')
3.2pod outdated
pod outdated
會(huì)讓CocoaPods 列出所有比Podfile.lock中的版本(現(xiàn)有版本)有更新版本的pods
這意味著如果對(duì)列出的pods運(yùn)行pod update PODNAME
,它們只要符合podfile中的限制就會(huì)更新
.
3.3 pod update
當(dāng)你運(yùn)行 pod update PODNAME
, 它會(huì)盡可能的更新到最新的版本 (只要符合你的 Podfile 中的限制).
CocoaPods 嘗試尋找一個(gè)當(dāng)前pod更新的版本, 無(wú)論 Podfile.lock 列出什么版本.
如果運(yùn)行 pod update 不帶上pod名炎辨,
with no pod name, CocoaPods 將會(huì)把Podfile中列出的每一個(gè)pod都更新到最新版本捕透。
3.4 預(yù)期用途
更新特定的pod.
用pod update PODNAME
pod install
不會(huì)更新已經(jīng)安裝的pods的版本Podfile中添加了新的pod
用pod install
pod update
會(huì)同時(shí)把已有的pod更新到最新版本
總而言之,僅在你想要更新某個(gè)或者全部的pod的版本時(shí)候使用pod update
碴萧。