當你開發iOS應用時,會經常使用到很多第三方開源類庫,比如JSONKit,AFNetWorking等等。可能某個類庫又用到其他類庫,所以要使用它,必須得另外下載其他類庫,而其他類庫又用到其他類庫,“子子孫孫無窮盡也”,這也許是比較特殊的情況。總之小編的意思就是,手動一個個去下載所需類庫十分麻煩。另外一種常見情況是,你項目中用到的類庫有更新,你必須得重新下載新版本,重新加入到項目中,十分麻煩。如果能有什麼工具能解決這些惱人的問題,那將“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods應該是iOS最常用最有名的類庫管理工具了,上述兩個煩人的問題,通過cocoaPods,只需要一行命令就可以完全解決,當然前提是你必須正確設置它。重要的是,絕大部分有名的開源類庫,都支持CocoaPods。所以,作為iOS程序員的我們,掌握CocoaPods的使用是必不可少的基本技能了。
注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods需要Ruby環境
1.Ruby環境的安裝
1.1.Ruby版本過低,使用RVM(Ruby Version Manage即Ruby版本管理)升級Ruby
//1.安裝RVM curl -L get.rvm.io | bash -s stable //2.等待一段時間後就可以成功安裝後RVM source ~/.bashrc //3.測試是否安裝正常 rvm -v
1.2.用RVM升級Ruby
//列出已知的ruby版本號 rvm list known //安裝ruby 最新版本 rvm install 最新版本號
1.3.查看ruby版本
ruby -v
2.cocoaPods的安裝
2.1.切換cocoaPods的數據源
//先刪除舊的數據源 gem source --remove https://rubygems.org/ //添加新的數據源 gem source -a https://ruby.taobao.org/ //查看數據源 gem source -l
2.2.安裝cocoaPods
//安裝cocoaPods sudo gem install cocoapods //配置倉庫 pod setup
//下載結束,可查看版本號
pod --version
2.1.1.開源庫的搜索
pod search AFNetworking
2.1.2.添加第三方庫,
a.新建一個項目
b.終端中,cd到項目的總目錄
c.建立Podfile(配置文件) vim Podfile
d.鍵盤輸入 i,進入編輯模式
e.編輯結束,按Esc,並且輸入“ :”號進入vim命令模式,然後在冒號後邊輸入wq進行保存
f.輸入pod install,開始安裝第三方
a.正常情況的編寫
platform:ios,'8.0' target:'工程的名字' do pod '第三方庫的名字','版本號'
end
b.如果不同的Target需要不同的依賴庫,則可以
platform :ios target :'FirstTarget' do pod 'Reachability' pod 'SBJson' pod 'AFNetworking' end target :'SecondTarget' do pod 'OpenUDID' end
c.第三方庫版本號的各種寫法:
pod ‘AFNetworking’ //不顯式指定依賴庫版本,表示每次都獲取最新版本 pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本 pod ‘AFNetworking’, ‘>2.0′ //使用高於2.0的版本 pod ‘AFNetworking’, ‘>=2.0′ //使用大於或等於2.0的版本 pod ‘AFNetworking’, ‘<2.0′ //使用小於2.0的版本 pod ‘AFNetworking’, ‘<=2.0′ //使用小於或等於2.0的版本 pod ‘AFNetworking’, ‘~>0.1.2′ //使用大於等於0.1.2但小於0.2的版本,相當於>=0.1.2並且<0.2.0 pod ‘AFNetworking’, ‘~>0.1′ //使用大於等於0.1但小於1.0的版本 pod ‘AFNetworking’, ‘~>0′ //高於0的版本,寫這個限制和什麼都不寫是一個效果,都表示使用最新版本
a.沒有指定工程中的Target
b.Podfile編寫規范有誤
c.安裝了多個Xcode導致路徑發生改變
.
解決辦法
sudo xcode-select -switch /Applications/Xcode.app 注: /Applications/Xcode.app:此部分未Xcode所在路徑,找到Xcode的安裝路徑,拖進來即可
d.當庫正常導入後,但還是找不到相關頭文件,制約了我們的開發效率,則可以:
在TARGETS -> Search Paths ->User Header Search Paths 中 寫入${SRCROOT}再將後面參數改為recursive:
e.該開始安裝後,會有以下情況,這一步一般都需要等待點時間,在安裝過程,要是想查看下載進度,通過以下命令可以查看
//進入CocoaPods目錄 cd ~/.cocoapods //查看文件大小,每隔幾分鐘查看一次 du -sh *
f.當輸入終端命令 :
sudo gem install cocoapods
提示以下錯誤:
這個問題說明是你的gem版本過舊了 (沒有報錯此步驟可以跳過)
執行 sudo gem update --system
或是在命令中指定安裝到/usr/bin/pods下即可正常安裝成功:
sudo gem install -n /usr/local/bin cocoapods
安裝成功
以上問題為本人目前遇到的 ,還請大家幫忙補充