當你開發iOS應用時,會常用到不少第三方開源類庫,好比JSONKit,AFNetWorking等等。可能某個類庫又用到其餘類庫,因此要 使用它,必須得另外下載其餘類庫,而其餘類庫又用到其餘類庫,「子子孫孫無窮盡也」,這也許是比較特殊的狀況。總之小編的意思就是,手動一個個去下載所需 類庫十分麻煩。另一種常見狀況是,你項目中用到的類庫有更新,你必須得從新下載新版本,從新加入到項目中,十分麻煩。若是能有什麼工具能解決這些惱人的 問題,那將「善莫大焉」。因此,你須要 CocoaPods。react
CocoaPods應該是iOS最經常使用最有名的類庫管理工具了,上述兩個煩人的問題,經過cocoaPods,只須要一行命令就能夠徹底解決,固然 前提是你必須正確設置它。重要的是,絕大部分有名的開源類庫,都支持CocoaPods。因此,做爲iOS程序員的咱們,掌握CocoaPods的使用是 必不可少的基本技能了。ios
CocoaPods是一個能夠幫你集中管理第三方庫的開源項目,運行在Ruby的環境下,基於GitHub託管優點,你能夠很方便的查閱目前依賴於CocoaPods的資源.程序員
而且,CocoaPods是可靠,穩定,安全的.能夠爲你在使用第三方庫資源時節省大部分的配置和部署時間.更專心的專一於Coding!xcode
一、CocoaPods是用Ruby實現的,要想使用它首先須要有Ruby環境。幸運的是OS X 10.5以上的系統默認的已經能夠運行Ruby了。可是在給新機子安裝時 發如今終端裏輸入 sudo geminstall cocoapods 這個命令沒有反應或者出現以下的錯誤提示:安全
緣由是cocoapods.org被牆了google一下,發現可使用淘寶的Ruby鏡像來訪問cocoapods,依次執行下面的代碼:ruby
$ gem sources –remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/工具
經過下面命令查看ruby鏡像是否被設置成淘寶了:google
gem sources -lspa
若是顯示的是下方的樣子,說明成功了code
*** CURRENT SOURCES *** http://ruby.taobao.org/
這個時候再執行安裝cocoapods命令,就能夠成功安裝了
sudo gem install cocoapods
另外使用的時候須要注意的是安裝完成後,第一次運行下面命令安裝第三方庫的時候,須要等待一段比較長的時間,不是出錯了也不是沒有響應,是真的要等好久,切勿取消,耐心等待下。
若是成功 會有一個 Successfullyinstalled cocoaPods的提示 ,
而後輸入
pod setup
二、建立一個 Podfile 文件
而後輸入一下命令:
(1)$cd /Users/lihongmei/Desktop/LocationManager-master//這一步我一直都沒有成功,最後直接進入根目錄,在根目錄下打開的終端進入的
(2)$touch Podfile
首先進入到工程的根目錄下,建立空白的Podfile文件,建立完畢的目錄結構以下:
三、編輯Podfile
根據須要,咱們能夠在Podfile文件中寫入須要用到的第三方庫,以SBJson、AFNetWorking、Reachability三個庫爲例、個人Podfile以下:
在剛纔打開的空白Podfile中加入你想要的,如
platform :ios, '8.0'
#use_frameworks!個別須要用到它,好比reactiveCocoa
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
而後將這個寫入數據的 Podfile保存後關閉,在終端輸入
pod install
而後終端會有顯示 示例:
[!] From now onuse `name.xcworkspace’.
這說明Pod install命令執行成功了。再來看看工程目錄發生的變化以下圖:
若是在終端中輸入pod install出現以下問題:
則說明你所建立的Podfile文件沒有和
在一塊兒,只須要把Podfile文件和這三個文件放到一塊兒就能夠。
最後:是的就像你看到的,你打開工程須要雙擊 .xcworkspace 這個工程,而不是以前的xcodeproj!!
注意:使用Search命令來看看你須要的第三方庫是否存在!
命令:pod search SDWebImage
常見錯誤:
1:在運行 「sudo gem install cocoapods」 的時候出現問題:ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match
則能夠改成:
sudo gem install -n /usr/local/bin cocoapods
2:
[!] Invalid `Podfile` file: unterminated string meets end of file.
將系統偏好設置裏的-鍵盤-文本-使用智能引號和擴則好取消勾選