作為一個入門不久的初級開發(fā)人員铭拧,本著一個自我知識整理歸檔地目的,概括性地介紹下 CocoaPods 的安裝與使用呕臂。
此文整理于2016年6月肪跋。
CocoPods簡介
CocoaPods 是針對 Swift 和 Objective-C 項目進行管理添加依賴的一個工具。它擁有一萬八千多個類庫來優(yōu)雅地拓展項目谜洽,管理著 Swift 和 Objective-C 項目的第三方庫引入褥琐。
官網(wǎng)地址:CocoaPods官網(wǎng)
安裝
由于 CocoaPods 是基于 Ruby 環(huán)境下工作的晤郑,故需要確保系統(tǒng)中已經(jīng)設置完畢 Ruby 環(huán)境造寝。
一般條件下 Mac 自備 Ruby ,故一般不需要設置析显,除非曾進行過卸載谷异,請自行 Google 锦聊。
1.打開Terminal(終端),移除官方源尺上。
gem sources --remove https://rubygems.org/
2.添加所需源怎抛,采取下方任意一個指令芽淡。
gem sources --add https://gems.ruby-china.org
gem sources -a https://gems.ruby-china.org
為什么不使用淘寶的gem源挣菲,原因是其已經(jīng)不可接受外界維護了。詳見RubyGems鏡像
3.確保所需源已添加唉窃,執(zhí)行下面指令纹笼。
gem sources -l
顯示效果如下,則證明添加成功廷痘。
*** CURRENT SOURCES ***
https://gems.ruby-china.org
4.進行 CocoaPods 安裝,輸入指令后輸入計算機密碼開始安裝元暴。
sudo gem install cocoapods
5.安裝完成茉盏,鍵入配置命令,如果安裝無誤鸠姨,便可以進入使用階段讶迁。
pod setup
使用
1.CocoaPods 已經(jīng)安裝完畢,當需要進行第三方類庫導入時巍糯,利用終端指令訪問到項目路徑下祟峦,進行 CocoaPods 初始化操作。
pod init
2.進行初始化命令后, 生成一個Podfile
文件惰聂,采取文本編輯器(Vim咱筛、Sublime Text等等)對其進行信息編輯,打開后顯示界面如下:
# Uncomment this line to define a global platform for your project
// 取消注釋該句子, 證明你需要為項目使用一個通用平臺
# platform :ios, '9.0'
// 如果你需要導入第三方庫, 直接在此編輯信息, 如
pod 'AFNetworking', '~> 3.0'
target 'xxx' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
// 取消注釋該句子, 如果你正在使用Swift或者需要使用動態(tài)框架的話
# use_frameworks!
# Pods for xxx
target 'xxxTests' do
inherit! :search_paths
# Pods for testing
end
end
3.信息編輯完畢后, 進行庫安裝溉愁。
- 不更新本地庫信息直接安裝饲趋,優(yōu)點是安裝快奕塑,缺點是如果有新庫發(fā)布,安裝將失敗盟猖,安裝失敗后需要使用獲取最新庫信息安裝指令换棚。
pod install --no-repo-update
- 根據(jù)
Podfile
信息進行安裝式镐,缺點是安裝速度慢娘汞,優(yōu)點是能保證當前庫可用你弦。
pod install
4.第三方庫導入完畢,這之后打開項目就應該進入xxx.xcworkspace
鳖目,而不再是xxx.xcodeproj
當然缤弦,之后我們可能會添加更多第三方庫,當Podfile
文件進行修改狸捅,需要執(zhí)行以下命令中的一個尘喝。
pod update --no-repo-update
pod update
P.S. 更新命令的區(qū)別同庫安裝的區(qū)別斋陪,當然,也可以選擇在Podfile
文件修改后缔赠,重新執(zhí)行一遍庫安裝友题,可以達到同樣的效果度宦。
安裝CocoaPod的幾個常見問題
1.gem過舊,安裝失敻瓿:
切換到ruby-china的gem源划鸽,使用sudo gem update
命令進行源更新,安裝過程中需要輸入 Y 來保證新文件與舊文件沖突時進行文件的重寫模闲。
2.安裝 CocoaPods 時尸折,終端卡在Setting up CocoaPods master repo
指令:
此時不妨新建一個終端窗口,隔幾分鐘使用du -sh *
或者du -sh ./
指令查看~/.cocoapods
里的文件大小实夹,會發(fā)現(xiàn)其大小一直在改變。因為此時 CocoaPods 默認把信息下載在~/.cocoapods
目錄下荸实。
3.使用pod install
指令時缴淋,顯示
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta.
Add `use_frameworks!` to your Podfile or target to opt into using it.The Swift Pods being used are: xxx, xxxx, xxxxx:
根據(jù)指示重抖,在Podfile
文件中添加一句use_frameworks!
即可
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!
4.使用sudo gem install cocoapods
指令進行安裝時钟沛,如果系統(tǒng)更新為 EI Capitan 版本,采取指令
sudo gem install -n /usr/local/bin cocoapods
可以解決下述問題:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
卸載
有些時候恨统,也許我們不想使用 CocoaPods 功能了,那么如何對其進行卸載呢?
一般我們可查看gems的本地程序包莫绣,通過鍵入gem list
命令后輸出如下圖顯示由捎,因個人使用安裝的多少,數(shù)量不定
但是針對 CocoaPods 的相關(guān)組件應該相同, 按需求進行程序包的移除處理即可, 依次刪除以cocoapods
為前綴的程序包:
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
......