在進行iOS開發的時候,總免不了使用第三方的開源庫,比如SBJson、AFNetworking、Reachability等等。使用這些庫的時候通常需要:
下載開源庫的源代碼并引入工程向工程中添加開源庫使用到的framework解決開源庫和開源庫以及開源庫和工程之間的依賴關系、檢查重復添加的framework等問題如果開源庫有更新的時候,還需要將工程中使用的開源庫刪除,重新執行前面的三個步驟,頓時頭都大了。。。自從有了CocoaPods以后,這些繁雜的工作就不再需要我們親力親為了,只需要我們做好少量的配置工作,CocoaPods會為我們做好一切!
CocoaPods是一個用來幫助我們管理第三方依賴庫的工具。它可以解決庫與庫之間的依賴關系,下載庫的源代碼,同時通過創建一個Xcode的workspace來將這些第三方庫和我們的工程連接起來,供我們開發使用。
使用CocoaPods的目的是讓我們能自動化的、集中的、直觀的管理第三方開源庫。
CocoaPods是用Ruby實現的,要想使用它首先需要有Ruby的環境。幸運的是OS X系統默認的已經可以運行Ruby了,因此我們只需要執行以下命令:
[objc] view plain copy在安裝進程結束的時候,執行命令:
[objc] view%20plain copy這有可能是因為Ruby的默認源使用的是cocoapods.org,國內訪問這個網址有時候會有問題,網上的一種解決方案是將遠替換成淘寶的,替換方式如下:
[objc] view%20plain copyupdate:淘寶的%20ruby%20源已經不維護了,請替換成%20Ruby%20China,詳情請見:https://gems.ruby-china.org/
gem是管理Ruby庫和程序的標準包,如果它的版本過低也可能導致安裝失敗,解決方案自然是升級gem,執行下述命令即可:
[objc] view%20plain copy升級很簡單,再次執行安裝命令即可:
[objc] view%20plain copy如果之前做的一切順利,接下來就可以體驗體驗CocoaPods的神奇之處了,需要經過以下幾步:
為了演示這個過程,我創建了一個名為CocoaPodsTest的工程。
CocoaPods的一切都是從一個名為Podfile的文件開始的,我們需要先創建這個文件。個人習慣使用命令行,我會這樣做:
[objc] view%20plain copy(PS:Podfile文件也可以不放在工程的根目錄下,只是會稍微麻煩點,在下一篇文章中會有介紹,敬請關注。)
根據需要,我們可以在Podfile文件中寫入需要用到的第三方庫,以SBJson、AFNetworking、Reachability三個庫為例,我的Podfile內容如下:
[objc] view plain copy準備工作都完成后,開始導入第三方庫:
[objc] view%20plain copy可以看到,工程的根目錄下多了三個東西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目錄。
(PS:篇幅有限,Podfile.lock文件會放到系列文章的下一篇介紹,敬請關注。)
再看看剛才執行完pod install命令打印出來的內容的最后一行:
[objc] view plain copy對于工程發生的變化,有幾點需要說明:
第三方庫會被編譯成靜態庫供我們正真的工程使用CocoaPods會將所有的第三方庫以target的方式組成一個名為Pods的工程,該工程就放在剛才新生成的Pods目錄下。整個第三方庫工程會生成一個名稱為libPods.a的靜態庫提供給我們自己的CocoaPodsTest工程使用。
我們的工程和第三方庫所在的工程會由一個新生成的workspace管理為了方便我們直觀的管理工程和第三方庫,CocoaPodsTest工程和Pods工程會被以workspace的形式組織和管理,也就是我們剛才看到的CocoaPodsTest.xcworkspace文件。
原來的工程設置已經被更改了,這時候我們直接打開原來的工程文件去編譯就會報錯,只能使用新生成的workspace來進行項目管理。
打開CocoaPodsTest.xcworkspace,界面如下:
工程的目錄結構還是非常明顯的。
在項目中引用剛才添加的第三方庫的頭文件,執行編譯操作,果斷成功!
至此,CocoaPods使用篇告一段落,接下來打算再用一個篇幅介紹CocoaPods稍微深層次的東西,敬請關注。
1、http://code4app.com/article/cocoapods-install-usage
2、http://cocoapods.org/
新聞熱點
疑難解答