1.CocoaPods的安裝
首先要了解Gem,這是一個(gè)管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包,它通過(guò)Ruby Gem(如 http://rubygems.org/ )源來(lái)查找、安裝、升級(jí)和卸載軟件包,非常的便捷。
CocoaPods是以Ruby gem包的形式被安裝的,也就是說(shuō)CocoaPods插件是由Ruby語(yǔ)言寫(xiě)的庫(kù)文件,可以通過(guò)gem命令安裝CocoaPods。
1.1安裝步驟
1.更換Gem源
由于在國(guó)內(nèi)訪問(wèn)Gem默認(rèn)的源下載更新都會(huì)異常的慢,換成國(guó)內(nèi)的源會(huì)速度會(huì)快一些。
以前都是替換到 https://ruby.taobao.org/源,但是現(xiàn)在RubyGems 鏡像的管理工作以后由 Ruby China 負(fù)責(zé)了,因此使用https://gems.ruby-china.com/源。
// 移除默認(rèn)的源
$ gem sources --remove https://rubygems.org/
// 添加國(guó)內(nèi)的源
$ gem sources -a https://gems.ruby-china.com/
// 查看源
$ gem sources -l
https://gems.ruby-china.com
# 確保只有 gems.ruby-china.com
2.安裝CocoaPods
先卸載,再安裝
# 卸載操作
$ sudo gem uninstall cocoapods
# 安裝
$ sudo gem install cocoapods
或指定版本安裝:
gem install cocoapods -v 1.5.2
注意:在Mac OS X 10.11上安裝cocoapods會(huì)出現(xiàn)以下錯(cuò)誤。
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: cocoapods requires cocoapods-core (= 1.2.0), cocoapods-downloader (< 2.0, >= 1.1.3), cocoapods-trunk (< 2.0, >= 1.1.2), molinillo (~> 0.5.5), xcodeproj (< 2.0, >= 1.4.1), colored (~> 1.2), escape (~> 0.0.4), fourflusher (~> 2.0.1), gh_inspector (~> 1.0), nap (~> 1.0), ruby-macho (~> 0.2.5); activesupport requires i18n (>= 0.6.9, ~> 0.6), tzinfo (~> 1.1), minitest (~> 5.1); cocoapods-plugins requires nap (>= 0)
這種情況下,使用 Homebrew 安裝 ruby,
# 先安裝 Homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 再安裝 ruby
$ brew install ruby
再執(zhí)行以下命令更新 gem:
sudo gem install -n /usr/local/bin cocoapods
3.初始化CocoaPods。
目的是將網(wǎng)絡(luò)上的第三方框架下載到本地,緩存起來(lái)。
$ pod setup
注意:
1.如果速度比較慢,直接停止初始化(control + c),參照第4步操作。如果速度可以,則不需要第4步操作。
2.并不是每一個(gè)第三方框架都會(huì)被下載到本地,能否被下載到本地的前提是,該第三方框架需要支持CocoaPods。
3.檢驗(yàn)第三方框架是否支持CocoaPods。3.1、可以在GitHub上查看框架的目錄中是否有
.podspec文件,只要含有這個(gè)文件,就支持CocoaPods,就會(huì)被下載到本地。
3.2、在GitHub搜索cocoapods,找到CocoaPods/Specs,其目錄中的文件名稱(chēng)就是支持CocoaPods的第三方框架。
3.3、登錄CocoaPods官網(wǎng)https://cocoapods.org/,搜索框架是否支持。
4.更換鏡像服務(wù)器
如果第3步比較慢,所以要把第三方框架鏡像的源更換到國(guó)內(nèi)的源,這樣會(huì)比較快一些。
// 移除master
$ pod repo remove master
// 添加國(guó)內(nèi)鏡像
$ pod repo add master https://git.coding.net/CocoaPods/Specs.git
// 執(zhí)行步驟4,初始化CocoaPods
$ pod setup
注意:
在執(zhí)行移除master命令時(shí),如果報(bào)錯(cuò) [!] repo master does not exist,不用理會(huì),直接執(zhí)行第二條命令。
如果執(zhí)行第二條命令時(shí)報(bào)錯(cuò):[!] To setup the master specs repo, please run pod setup,此時(shí)放棄執(zhí)行以上三條命令,通過(guò)以下方法解決。
參考官方(http://guides.cocoapods.org/terminal/commands.html#pod_setup) 對(duì)pod setup命令的解釋?zhuān)梢允褂胓it命令,將 Specs.git 文件 clone 到 /Users/用戶(hù)名/.cocoapods/repos 目錄下,并把文件名改為master。
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
此時(shí)就解決了上述報(bào)錯(cuò)的問(wèn)題。
2.CocoaPods的使用
2.1、更新第三方庫(kù)信息
由于第三方框架是不斷更新的,所以要定時(shí)更新第三方庫(kù)
pod repo update
2.2、搜索第三方庫(kù)
能被搜索到的第三方庫(kù),才可以使用CocoaPods管理
$ pod search 關(guān)鍵字
3.命令行使用CocoaPods
3.1、進(jìn)入項(xiàng)目工程所在目錄
$ cd ~/項(xiàng)目文件夾
3.2、新建Podfile, 通過(guò)這個(gè)命令填寫(xiě)需要的框架
$ vim Podfile //然后輸入i:進(jìn)入編輯狀態(tài)
3.3、Podfile文件的格式
platform :ios, '8.0'
use_frameworks!
target 'project名字' do
pod '框架名字'
pod '框架名字', '~> 版本號(hào)'
end
按ESC:退出編輯模式,再入:wq:保存并退出。
注意:在Swift中,Podfile的第一句必須寫(xiě)上
use_frameworks!。
3.4、解析Podfile,安裝第三方框架
$ pod install
3.5、解析Podfile,升級(jí)第三方框架
$ pod update
注意,如果使用CocoaPods過(guò)程中出現(xiàn)了莫名其妙的問(wèn)題,執(zhí)行以下命令。
$ sudo gem update --system
$ sudo gem install cocoapods
$ pod setup
4.使用CocoaPods插件
- 2.解壓縮,打開(kāi)
CocoaPods.xcworkspace,運(yùn)行。
此時(shí)插件就安裝好了。
- 3.重新打開(kāi)Xcode,如下圖所示選擇

此時(shí)CocoaPods插件就可以使用了
- 4.填寫(xiě)需要集成的框架名稱(chēng)
填寫(xiě)需要集成的框架
注意格式,參考 https://guides.cocoapods.org/using/the-podfile.html 。
-
5.安裝框架
集成框架
注意, 如果還是不能使用,請(qǐng)看以下的注意點(diǎn)。
5.使用第三方框架的注意點(diǎn)
在Swift中盡量不要手動(dòng)拖拽第三方框架到項(xiàng)目中,因?yàn)閟wift具有命名空間的概念,這樣容易沖突。
在Swift中建議使用CocoaPods管理第三方框架,此時(shí)如果第三方框架是OC語(yǔ)言寫(xiě)的,點(diǎn)擊查看頭文件,看到的代碼格式為swift格式。
如果在使用CocoaPods時(shí)報(bào)錯(cuò),點(diǎn)擊 target->Build Phases,然后點(diǎn)擊左上角的+按鈕,選擇New copy Files Phase,在該頁(yè)面最下面,選擇FrameWork,再點(diǎn)擊+選擇Pods.Framework。


在Swift中,編輯Podfile文件時(shí),要添加 use_frameworks! 這句話。
使用git提交代碼時(shí),默認(rèn)不會(huì)提交CocoaPods相關(guān)的內(nèi)容,此時(shí)需要打開(kāi)命令行,添加CocoaPods到git遠(yuǎn)程倉(cāng)庫(kù)。
$ git add .
$ git commit -m "添加第三方框架"
$ git push


