Cocoapods三重奏 (一)安裝和使用

Cocoapods安裝和使用

Cocoapods介紹

前言


對于iOS APP開發中,幾乎都采用了Cocoapods來管理第三方庫,所以掌握Cocoapods的使用對于iOS開發者是非常重要的。

Cocoapods ?


簡單來說,Cocoapods就是專門為iOS工程提供對第三方庫依賴的管理工具,我們可以通過Podfile文件方便的管理第三方庫,相對于手動管理(手動拖拽和刪除)第三方庫來說確實方便了很多,節省時間去關心第三方庫的使用。

Cocoapods安裝


Cocoapods是使用ruby安裝的,MAC系統有一個默認的ruby版本,通過下面命令安裝
sudo gem install cocoapods
這個時候你會發現安裝失敗,因為默認的cocoapods網址是國外的,國內無法訪問(除非使用VPN)
國內使用ruby安裝cocoapods的步驟:

*  打開終端程序
* 刪除默認ruby:gem sources —remove https://rubygems.org/
* 添加淘寶ruby:gem source -a https://ruby.taobao.org/
* 查看是否添加成功:gem source -l
* 安裝:sudo gem install cocoapods 
* 查看某個庫: pod search 類庫名   //支持模糊查詢(如:AFNetwork)

Cocoapods使用


cocoapods使用

cocoapods的使用主要是通過 Podfile文件來自動管理第三方庫的
具體步驟

    * 打開終端程序
    * 進入到要添加第三方庫的項目目錄
    * 通過touch或者直接通過vi編輯器創建一個Podfile文件
    * 添加需要使用的庫:
       pod 'AFNetworking', '~>2.0' //可以指定版本
       pod 'MBProgressHUD'          //不指定版本默認下載最新的
    * 編輯完成,點擊esc進入到“最后一行”模式,輸入一個":",然后輸入 "wq",保存退出
    * 然后在終端輸入`pod install` 進行安裝
    * 打開項目目錄下的xxx.xcworkspace文件

cocoapods刪除

    * 刪除工程文件夾下的Podfile、Podfile.lock及Pods文件夾
    * 刪除xcworkspace文件
    * 使用xcodeproj文件打開工程,刪除Frameworks組下的 Pods.xcconfig及libPods.a引用
    * 在工程設置中的Build Phases下刪除Check Pods Manifest.lock及Copy Pods Resources(參考下圖)

D465CDE3-3582-49EA-B535-3400C3B29EB5-e1402763591159.jpg

podfile常用命令:

1、pod install

根據Podfile文件指定的內容,安裝依賴庫,如果有Podfile.lock文件而且對應的Podfile文件未被修改,則會根據Podfile.lock文件指定的版本安裝。

每次更新了Podfile文件時,都需要重新執行該命令,以便重新安裝Pods依賴庫

2、pod update

若果Podfile中指定的依賴庫版本不是寫死的,當對應的依賴庫有了更新,無論有沒有Podfile.lock文件都會去獲取Podfile文件描述的允許獲取到的最新依賴庫版本。

3、pod search

查看某個庫: pod search 類庫名 //支持模糊查詢(如:AFNetwork)

4、pod setup

用于更新本地電腦上的保存的Pods依賴庫tree。由于每天有很多人會創建或者更新Pods依賴庫,這條命令執行的時候會相當慢,還請耐心等待。我們需要經常執行這條命令,否則有新的Pods依賴庫的時候執行pod search命令是搜不出來的。

1 多個target中使用相同的Pods依賴庫

比如,名稱為CocoaPodsTest的target和Second的target都需要使用Reachability、SBJson、AFNetworking三個Pods依賴庫,可以使用link_with關鍵字來實現,將Podfile寫成如下方式:

link_with ‘CocoaPodsTest’, ‘Second’
platform :ios
pod ‘Reachability’,  ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0’

2 不同的target使用完全不同的Pods依賴庫

CocoaPodsTest這個target使用的是Reachability、SBJson、AFNetworking三個依賴庫,但Second這個target只需要使用OpenUDID這一個依賴庫,這時可以使用target關鍵字,Podfile的描述方式如下:

target :’CocoaPodsTest’ do
platform :ios
pod ‘Reachability’,  ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0′
end
target :’Second’ do
pod ‘OpenUDID’, ‘~> 1.0.0’
end

以do/end 開始和結尾

5、Podfile中指定類庫版本的含義

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的版本
pod ‘AFNetworking’, ‘~>0.1’     //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’     //高于0的版本,寫這個限制和什么都不寫是一個效果,都表示使用最新版本

cocoapods升級


屏幕快照 2016-11-11 下午3.21.30.png

錯誤處理:
當你執行 sudo gem update --system 命令的時候可能會報錯

屏幕快照 2016-11-15 下午7.47.36.png

這時候需要你 先安裝homebrew,去官網復制命令:http://brew.sh

然后執行命令 brew install ruby

安裝成功后重新執行cocoapods安裝命令

參考:

1 http://www.exiatian.com/cocoapods安裝使用及配置私有庫/
2 http://www.cnblogs.com/brycezhang/p/3675670.html
3 http://mp.weixin.qq.com/s?__biz=MzIzMzA4NjA5Mw==&mid=214023058&idx=1&sn=02fcf03d8ceb6636489086ba3fc310cc&scene=18#rd

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 項目組件化、平臺化是技術公司的共同目標,越來越多的技術公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構...
    swu_luo閱讀 22,226評論 0 39
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby,可以先安裝xcode,再安裝macport ,最后...
    山天大畜閱讀 1,896評論 0 1
  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個負責管理iOS項目中第三方開源庫...
    輝712閱讀 3,993評論 0 7
  • 什么是cocoapods CocoaPods是一個用來幫助我們管理第三方依賴庫的工具。它可以解決庫與庫之間的依賴關...
    VV木公子閱讀 7,088評論 0 7
  • 老家附近是沒有山的,上大學后我才第一次見到山。 讀了很多描寫青山的詩句之后,不由得對遠方的山心生向往,想體會“會當...
    青鋒暮寒閱讀 1,053評論 3 12