CocoaPods是一個用來幫助咱們管理第三方依賴庫的工具。它能夠解決庫與庫之間的依賴關係,下載庫的源代碼,同時經過建立一個Xcode的workspace來將這些第三方庫和咱們的工程鏈接起來,供咱們開發使用。這麼說可能還不是很理解,當咱們開發iOS應用時,會常用到不少第三方開源類庫,好比JSONKit,AFNetWorking等等。可能某個類庫又用到其餘類庫,因此要使用它,必須得另外下載其餘類庫,而其餘類庫又用到其餘類庫,A依賴B,B又依賴C......。總之筆者的意思,手動一個個去下載所需類庫十分麻煩。另一種常見狀況是,你項目中用到的類庫有更新,你必須得從新下載新版本依賴庫,而後一個個從新加入到項目中,費時費力,操做繁瑣且容易出錯。若是能有什麼工具能代替咱們手工去解決這些依賴和更新問題,那咱們開發效率將若有神助。這就是CocoaPods的做用。
總而言之,使用CocoaPods的目的是讓咱們能自動化的、集中的、直觀的管理第三方開源庫。html
0.升級/安裝Ruby環境
CocoaPods 是使用 Ruby 實現的,能夠經過 gem 命令來安裝。MAC 中通常自帶 Ruby 環境,若是沒有請參考 Ruby 官方文檔來安裝 Ruby 環境。也可參考 如何在Mac OS X上安裝 Ruby運行環境ios
1.查看現有Ruby鏡像源是否爲taobao.orgsql
2.經過以上命令,若是打印的當前Ruby鏡像源是https://rubygems.org/ 那麼須要使用如下命令移除而後替換爲淘寶的鏡像源(若是是且僅是https://ruby.taobao.org/ 直接跳轉到第4步驟):
你或許會好奇問,爲何須要把https://rubygems.org/
替換爲https://ruby.taobao.org/
,由於https://rubygems.org/
在國外,若是咱們不替換爲淘寶鏡像源,那麼cocoapods的安裝將是很是慢,因此,強烈建議將默認的 RubyGems 源替換爲淘寶的 RubyGems 鏡像,這樣速度要快不少,更多信息能夠參考 RubyGems 鏡像 - 淘寶網。vim
3.驗證新源是否存在,注意,不是i是list的首字母lapi
*** CURRENT SOURCES ***
http://ruby.taobao.org/
4.安裝CocoaPods備註:
若是蘋果系統升級到OS X EL Capitan,以上命令無效,使用以下命令:4.2.將 CocoaPods Specs repository複製到你電腦上~/.cocoapods目錄下備註:
"~"表明用戶絕對目錄的收起狀態,展開爲:/Users/userName,"."開頭的表明是隱藏文件xcode
執行以上命令後,須要一點時間來完成,耐心等待。若是安裝失敗那麼 ~/.cocoapods 裏面是空的,就須要如下兩個命令從新setup。ruby
備註:
卸載 CocoaPods 可使用如下命令:app
完畢以後這個文件夾大概有 100多M,到這裏你已經成功安裝了CocoaPods!工具
1.使用search命令搜索類庫名,若是能搜到,那麼表明該依賴庫支持pods的方式集成,反之不能。ui
2.建立Podfile文件,必需要把Podfile建立在項目根目錄下(也就是和咱們項目的XXX.xcodeproj文件同目錄)
$vim Podfile
3.在 Podfile中添加咱們須要依賴的庫名和版本號,以下
platform :ios, '8.0' # Uncomment this line if you're using Swift use_frameworks! pod 'AFNetworking', '~> 3.0'
2.使用install命令安裝依賴庫
$ pod install
2.1.若是安裝依賴庫且不但願更新CocoaPods的spec倉庫
$ pod --verbose --no-repo-update
執行命令後,控制檯會打印以下信息,分別分析依賴、下載依賴、安裝依賴庫AFNetworking、生成Pods工程、集成咱們的項目和Pods工程(也就是生成名爲XXX.xcworkspace的文件)。最後會在終端提醒,從如今起,咱們該用後綴名爲.xcworkspace的文件打開項目。
EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install Analyzing dependencies Downloading dependencies Installing AFNetworking (3.0) Generating Pods project Integrating client project [!] From now on use `VVSPodsDemo.xcworkspace`.
以上是用命令行的方式建立Podfile、編輯Podfile、安裝依賴庫。還有一種更方便的方式,就是使用CocoaPods插件。CocoaPods的安裝和使用很是簡單,和其餘插件的安裝同樣,此處再也不贅述。
問題摘自CocoaPods安裝和使用教程
[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`. Available versions: 0.1.6
這裏的意思大概是Podfile文件過時,類庫有升級,可是Podfile沒有更改。$ pod install只會按照Podfile的要求來請求類庫,若是類庫版本號有變化,那麼將獲取失敗。可是 $ pod update會更新全部的類庫,獲取最新版本的類庫。並且你會發現,若是用了 $ pod update,再用 $ pod install 就成功了。
那你也許會問,何時用 $ pod install,何時用 $ pod update 呢,我又不知道類庫有沒有新版本。好吧,那你每次直接用 $ pod update 算了。或者先用 $ pod install,若是不行,再用 $ pod update。
cocoapods導入一個第三方的庫(開源庫或者靜態/動態庫),而後導入這個庫的頭文件,編譯報錯,說某個頭文件找不到。錯誤以下:
解決方案:
配置頭文件的搜索路徑,配置以下:
問題描述:使用cocoapods時,import某個頭文件後, 找不到這個頭文件中import的其餘頭文件。
問題緣由:這是由於還沒設置頭文件的目錄。
解決辦法:在項目的Target的裏設置一下,添加cocoapods頭文件目錄:目錄路徑直接寫:${SRCROOT} ,後邊選擇recursive 。就能夠了。
注意:必須選擇recursive ,不然照樣報錯,recursive是遞歸查找的意思,若是在當前路徑下找不到頭文件,會去子路徑下繼續查找。
注意:是在 User Header Search Paths 裏添加,不是上面的 Header Search Paths.
如圖:
文/VV木公子(簡書做者)
PS:如非特別說明,全部文章均爲原創做品,著做權歸做者全部,轉載轉載請聯繫做者得到受權,並註明出處,全部打賞均歸本人全部!
若是您是iOS開發者,或者對本篇文章感興趣,請關注本人,後續會更新更多相關文章!敬請期待!