作為一個入門不久的初級開發(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過舊,安裝失?。?br>
切換到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 的相關組件應該相同, 按需求進行程序包的移除處理即可, 依次刪除以cocoapods為前綴的程序包:
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
......