CocoaPods使用詳細說明

 1、概要html

iOS開發時,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)能夠用來方便的統一管理這些第三方庫。ios


2、安裝git

因爲網上的教程基本都大同小異,但細節之處還不是很完善,因此藉機會在這裏補充下:github

注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods須要Ruby環境json


一、Ruby環境搭建vim

當前安裝環境爲Mac mini 10.8.5。Mac  OS自己自帶Ruby,但仍是更新一下保險,由於我第一次安裝在沒有更新Ruby的狀況下就失敗了。xcode

a 查看下當前ruby版本:打開終端輸入 ruby -v(確實安裝了,不過用這個版本接下來工做失敗了,因此更新下ruby)ruby

 

[objc]  view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. .8 (020-85) [universal-darwin2]  
  2. ritekiMac-mini:PodTest lucky$   


b 更新rubybash

 

終端輸入以下命令(把Ruby鏡像指向taobao,避免被牆,你懂得)app

gem sources --remove https://rubygems.org/ 
gem sources -a http://ruby.taobao.org/ 
gem sources -l  (用來檢查使用替換鏡像位置成功)

 

[objc]  view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. ritekiMac-mini:~ lucky$ gem sources --remove:  
  2. //rubygems.org/ removed from sources :  
  3. //ruby.taobao.org/ added to sources  ***  

 


二、下載安裝CocoaPods

終端輸入:

 

[html]  view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. 1 gem installed  

 


這樣就下載安裝好了CocoaPods

 


三、使用CocoaPods

a  新建一個項目,名字PodTest



b  終端中,cd到項目總目錄(注意:包含PodTest文件夾、PodTest.xcodeproj、PodTestTest的那個總目錄)

 

[objc]  view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. cd /Users/lucky/Desktop/PodTest   


c  創建Podfile(配置文件)

 

接着上一步,終端輸入 vim Podfile



鍵盤輸入 i,進入編輯模式,輸入

platform :ios, '7.0' 
pod 'MBProgressHUD', '~> 0.8'


而後按Esc,而且輸入「 :」號進入vim命令模式,而後在冒號後邊輸入wq



注意:鍵盤輸入 :後,才能輸入wq。回車後發現PodTest項目總目錄中多一個Podfile文件



激動人心的時刻到了:肯定終端cd到項目總目錄,而後輸入 pod install,等待一會,大約3分鐘。



查看項目根目錄:



注意:如今打開項目不是點擊 PodTest.xodeproj了,而是點擊 PodTest.xcworkspace

如今,你的全部第三方庫都已經下載完成而且設置好了編譯參數和依賴,你只須要記住以下 2 點便可:

  1. 使用 CocoaPods 生成的 .xcworkspace 文件來打開工程,而不是之前的 .xcodeproj 文件。
  2. 每次更改了 Podfile 文件,你須要從新執行一次pod update命令。


打開項目後看到項目結構而且測試一下:



運行結果:



補充:

一、CocoaPods的基本安裝及使用都詳細的說明了,但還有一些補充,當須要同時導入多個第三方時候怎麼辦 ?

這就須要修改Podfile了,就是用vim編輯的那個保存在項目根目錄中的文件,修改完了Podfile文件,須要從新執行一次pod install命令。

例如:

 

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0'


查找第三方庫

你若是不知道 cocoaPods 管理的庫中,是否有你想要的庫,那麼你能夠經過 pod search 命令進行查找,如下是我用 pod search json 查找到的全部可用的庫

1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
$ pod search json  -> AnyJSON (0.0.1)  Encode / Decode JSON by any means possible.  - Homepage: https://github.com/mattt/AnyJSON  - Source: https://github.com/mattt/AnyJSON.git  - Versions: 0.0.1 [master repo]   -> JSONKit (1.5pre)  A Very High Performance Objective-C JSON Library.  - Homepage: https://github.com/johnezang/JSONKit  - Source: git://github.com/johnezang/JSONKit.git  - Versions: 1.5pre, 1.4 [master repo]  // ... 如下省略若干行 

關於 Podfile.lock

當你執行pod install以後,除了 Podfile 外,CocoaPods 還會生成一個名爲Podfile.lock的文件,Podfile.lock 應該加入到版本控制裏面,不該該把這個文件加入到.gitignore中。由於Podfile.lock會鎖定當前各依賴庫的版本,以後若是屢次執行pod install 不會更改版本,要pod update纔會改Podfile.lock了。這樣多人協做的時候,能夠防止第三方庫升級時形成你們各自的第三方庫版本不一致。

CocoaPods 的這篇 官方文檔 也在What is a Podfile.lock一節中介紹了Podfile.lock的做用,而且指出:

This file should always be kept under version control.

爲本身的項目建立 podspec 文件

咱們能夠爲本身的開源項目建立podspec文件,首先經過以下命令初始化一個podspec文件:

1
pod spec create your_pod_spec_name

該命令執行以後,CocoaPods 會生成一個名爲your_pod_spec_name.podspec的文件,而後咱們修改其中的相關內容便可。

具體步驟能夠參考這兩篇博文中的相關內容:

使用私有的 pods

咱們能夠直接指定某一個依賴的podspec,這樣就可使用公司內部的私有庫。該方案有利於使企業內部的公共項目支持 CocoaPods。以下是一個示例:

1
pod 'MyCommon', :podspec => 'https://yuantiku.com/common/myCommon.podspec' 

不更新 podspec

CocoaPods 在執行pod installpod update時,會默認先更新一次podspec索引。使用--no-repo-update參數能夠禁止其作索引更新操做。以下所示:

1
2 
pod install --no-repo-update pod update --no-repo-update 

生成第三方庫的幫助文檔

若是你想讓 CococaPods 幫你生成第三方庫的幫助文檔,並集成到 Xcode 中,那麼用 brew 安裝 appledoc 便可:

1
brew install appledoc

關於 appledoc,我在另外一篇博客 《使用 Objective-C 的文檔生成工具:appledoc》 中有專門介紹。它最大的優勢是能夠將幫助文檔集成到 Xcode 中,這樣你在敲代碼的時候,按住 opt 鍵單擊類名或方法名,就能夠顯示出相應的幫助文檔。

原理

大概研究了一下 CocoaPods 的原理,它是將全部的依賴庫都放到另外一個名爲 Pods 項目中,而後讓主項目依賴 Pods 項目,這樣,源碼管理工做都從主項目移到了 Pods 項目中。發現的一些技術細節有:

  1. Pods 項目最終會編譯成一個名爲 libPods.a 的文件,主項目只須要依賴這個 .a 文件便可。
  2. 對於資源文件,CocoaPods 提供了一個名爲 Pods-resources.sh 的 bash 腳本,該腳本在每次項目編譯的時候都會執行,將第三方庫的各類資源文件複製到目標目錄中。
  3. CocoaPods 經過一個名爲 Pods.xcconfig 的文件來在編譯時設置全部的依賴和參數。

願你們玩得開心~

而後從新編輯Podfile文件,按照以前的步驟,把更多的庫都導入項目!

 若是類庫有更新,查看更新配置並執行pod update便可簡單完成了,今後從手動更新繁重的體力勞動中解脫出來。

簡單小結一下:

- 安裝CocoaPods
- 新建項目並在工程根目錄下新建Podfile文件,配置須要管理的第三方庫
- 運行pod install下載安裝第三方庫

 

http://blog.csdn.net/lizhongfu2013/article/details/26384029

相關文章
相關標籤/搜索