使用CocoaPods管理框架

1、使用CocoaPods管理框架
如果我們只是添加了少量的第三方框架,那麼手動管理起來也不算什麼難事,但是如果我們使用了大量的第三方框架的時候,管理起來就會變成十
分繁雜的過程,此外,如果要獲取第三方框架的更新,手動管理無異於重新
添加一遍第三方框架。因此,我們需要使用工具來幫助管理這些第三方框
架,CocoaPods讓管理框架的操作變得簡單易用。
CocoaPods是一款十分優秀的第三方框架管理工具,使用它我們可以下
載框架的源代碼並且導入到工程當中,此外,CocoaPods對框架的更新管理
也是得心應手,我們也不必考慮紛繁複雜的依賴關係了。下面就概述一下這
個工具。

2、安裝CocoaPods
CocoaPods是使用Ruby實現的,一般情況下OS X已經配置好了Ruby運行
環境,因此,我們只需要打開終端,輸入以下語句:
這裏寫圖片描述
然後輸入用戶密碼即可。
安裝截圖:(有截取)
這裏寫圖片描述
這裏寫圖片描述

3、常見問題
安裝CocoaPods可能會遇到許許多多的問題,下面講幾個常見問題。
3.1、安裝超時
比如說我們可能會碰到以下提示:
這裏寫圖片描述
出現這個情況,一般就是安裝超時。首先先檢查一下當前網絡的通暢情
況,因爲這是要連接到rubygems.org去進行下載,本來訪問外網就慢,如果
網速還緩慢的話,往往就會導致連接超時的情況出現。
可有些時候網絡通暢的情況下,可能還是無法下載。這個時候就需要用
到某寶的鏡像服務器了,這個服務器每15分鐘同步一次,因此我們完全可以。或者是由 Ruby China 社區專注維護的這個源(https://gems.ruby-china.org/ )。建議後者,某寶好像無法使用了。
用其來代替:
這裏寫圖片描述
爲了驗證我們當前使用的鏡像服務器是淘寶的,輸入以下命令:
這裏寫圖片描述
只有在終端中出現下面的文字才表明上面的命令成功了:
這裏寫圖片描述
然後再次輸入安裝命令,稍事等待後,Cocoapods就自動下載並安裝完
成了。
3.2、權限問題
上節的命令有時不一定能夠有效執行,因爲很可能會彈出以下問題:
這裏寫圖片描述
這個消息意味着,出現了權限問題,當前的系統配置不允許非管理員用戶對其進行操作,解決方案很簡單,在命令前面加上sudo即可。
3.3、Gem版本問題
由於Cocoapods是以Gem包的形式安裝的,如果Gem的版本過低,同樣
也會導致安裝失敗,可能會彈出以下問題:
這裏寫圖片描述
這個時候,只需要運行以下命令,升級Gem即可:
這裏寫圖片描述

4、向項目中添加第三方框架
安裝後就是如何使用的問題了。很讚的是,使用CocoaPods同樣也很簡
單,只需要幾行命令即可搞定。
那麼我們現在就使用CocoaPods往項目中添加第三方框架吧!我們在這
裏準備導入一個第三方數據庫框架:Realm。它的地址
爲:https://github.com/realm/realm-cocoa
爲了確定Realm是否支持CocoaPods,我們可以使用CocoaPods的搜索功
能進行驗證,在終端中鍵入以下命令:

pod search RealmSwift

注意:
我們也可以搜索更適合Objective-C的Realm庫:Realm。
過上一會兒(這取決於你的網速和被牆的程度),我們就可以在終端中
看見關於RealmSwift庫的一些信息:
這裏寫圖片描述
(我沒看到這個信息,而是直接下載了)

這就說明,Realm是支持CocoaPods的,所以我們可以使用CocoaPods將
這個框架導入到項目當中。
首先,我們需要在項目中添加對CocoaPods的支持。打開CrazyBounce-
Swift項目,然後在裏面添加一個文件,用來告訴CocoaPods這個項目想要哪
些第三方框架。這個文件叫做“Podfile”(沒有後綴),這也是我們在瀏覽
Github的時候經常看見的文件之一。每個項目僅能擁有一個Podfile文件。
最常用的方法就是在終端中使用vim創建Podfile了,當然,對於某些不
會用vim的人來說,我們使用Mac自帶的“文本編輯”應用也能夠達成這個效
果。打開“文本編輯”應用,然後在其中輸入以下語句:
這裏寫圖片描述
關於版本號,有它獨特的制定規則:
·’>1.0’:任何高於1.0的版本
·’>=1.0’:任何高於或等於1.0的版本
·’<1.0’:任何低於1.0的版本
·’<=1.0’:任何低於或等於0.1的版本
·’~>0.1’:任何高於或等於0.1的版本,但是不包含高於1.0的版本
·’~>0’:任何版本,相等於不指定版本,默認採用最新的版本號
然後選擇菜單欄的“格式→製作純文本”選項(或者直接使用快捷鍵
Shift+Command+T),然後在彈出的對話框中選擇“是”,保存文件,將其命
名爲“Podfile”(注意,一定要是這個名稱),然後選擇存儲路徑爲項目的根
目錄,隨後取消“如果沒有提供擴展名,則使用.txt”選項,保存即可。

注意
上面這段命令不是通用的,添加第三方庫支持的Pod設置要查看具體的
第三方庫的說明,每一個第三方庫的命令都不盡相同。並且,Podfile文件一
定要和工程文件.xcodeproj在同一個目錄下。
此外,還有一個更爲簡單的方法,我們進入到項目文件目錄當中,然後
使用以下命令,就可以自動生成一個模板文件

pod init

隨後開啓終端,進入(cd)到項目文件目錄當中,然後執行以下語句:

pod install

運行結束之後,會彈出以下信息:
這裏寫圖片描述

這些過程大致做了以下事情:
·分析依賴:這個步驟會分析Podfile,查看不同類庫之間的依賴情況。
如果有多個類庫依賴於同一個類庫,但是依賴於不同的版本,那麼
CocoaPods會自動設置一個兼容的版本。
·下載依賴:根據分析依賴的結果,下載指定版本的類庫到本地項目
中。
·生成Pods項目:創建一個Pods項目用來專門編譯和管理第三方類庫,
CocosPods會將所需的框架、庫等內容添加到項目中,並且進行相應的配
置。
·整合Pods項目:將Pods和項目整合到一個工作區當中,並且設置庫文
件鏈接。
注意最後一句話,意思是:以後打開項目就得用CrazyBounce-
Swift.xcworkspace打開,而不是之前的.xcodeproj文件。
這是爲什麼呢?我們之前也介紹過了,工作區的所有項目都可以訪問同
一工作區其他項目的資源和代碼,包括其編譯信息。因此,我們只需要管理
好我們的項目即可,至於第三方框架的管理,交給CocoaPods去做就好啦!

5、運行CocoaPods管理的項目
我們有些時候經常能碰到這種情況,好不容易在Github上找到了一份非
常棒的代碼,然後立馬下載了下來,結果發現根本無法編譯,出現了各種各
樣的錯誤。其實,其根本原因是缺失了各種第三方框架,如果這個時候項目
包含有Podfile的話,那麼我們就可以用CocoaPods來下載所需要的類庫了。
在這裏,我們選擇一個簡單的圖表庫——PNChart,這個是
kevinzhow(微博:周楷雯Kevin)的作品,這個作品是一個非常炫酷的圖表
庫,同樣,它也使用了Podfile。
前往Github(https://github.com/kevinzhow/PNChart)下載該項目,然後在
終端中進入該項目中,輸入以下命令

pod update

這個命令是根據本地的Podfile來更新本地的類庫,如果本地類庫不存
在,那麼這個命令也會下載本地缺失的類庫。
這樣,項目就可以成功運行了!

============================我是分割線==================================
2017-04-05更新
淘寶已經關閉HTTP協議的景象服務,改爲HTTPS協議。
淘寶ruby地址:https://ruby.taobao.org/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章