在iOS項目中使用第三方類庫可以說是非常常見的事,但是要正確配置這些第三方庫會非常的繁瑣,還好我們有CocoaPods來做這件事情,就如同在Java的世界裏有Maven和Gradle,當然Maven的作用不僅僅是第三依賴庫管理。通過CocoaPods工具我們可以爲項目添加被稱爲"Pods"的依賴庫(這些類庫必須是CocoaPods本身所支持的),並且可以輕鬆管理其版本。
CocoaPods意義體現在兩個方面。第一,在引入第三方庫時它可以自動爲我們完成各種各樣的配置,包括配置編譯階段、鏈接器選項、甚至是ARC環境下對某些使用MRC的類設置-fno-objc-arc等;第二,使用CocoaPods可以很方便地查找新的第三方庫,這些第三方庫是更規範的或是知名的第三方庫,這樣可以讓我們找到真正好用的第三方庫。
安裝Ruby環境
查看Mac是否安裝Ruby和Gem
在終端中輸入命令:ruby --version
和gem --version
輸出如下類似提示符,則表示Ruby環境已安裝
$ ruby --version
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]
$ gem --version
2.5.1
說明:Ruby是日本人松本行弘發明的編程語言,它對面向對象和函數式編程都提供了很好的支持,而且有很高的開發效率。Gem是一個用於對Ruby組件進行打包的打包系統,它提供了分發Ruby程序和庫的標準格式,還提供一個管理程序包安裝的工具,CocoaPods就是用Ruby編寫的第三方依賴庫管理工具,可以通過gem來安裝。如果系統中沒有Ruby環境,那麼可以先安裝,具體的做法可以自己搜索一下。
安裝CocoaPods
我們先將默認的gem源修改成淘寶的鏡像,原因你懂的!
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
爲了驗證你的Ruby鏡像已經修改爲淘寶鏡像(只能保留淘寶鏡像),可以用以下命令查看,而且必須看到如下所示的輸出。
$ gem sources -l
* CURRENT SOURCES *
https://ruby.taobao.org/
提示:如果出現多個源就需要將其他的源刪除。
終端中執行安裝CocoaPods
$ sudo gem install cocoapods
執行完成後,需要初始化CocoaPods的環境
$ pod setup
提示:以上兩步可能會花費較多的時間,跟你的網絡狀況有很大關係。
使用CocoaPods
- 創建Xcode項目並在終端中切換到該項目路徑
- 使用命令
pod init
在當前文件夾下生成一個Podfile文件 - 編輯該文件,在該文件中輸入如下信息:
$ vim Podfile
該文件中的命令格式爲:pod '第三庫名稱', '版本號'
,第三庫名稱一定要正確,否則分分鐘安裝失敗。版本號書寫的規則如下所示:
- >= 1.0 至少版本爲1.0
- ~> 1.0 兼容1.0版本的最新版
- == 1.0或1.0都表示指定版本
4. 安裝工程依賴的第三方庫
$ pod install
如果命令執行後出現pods installed
字樣表示安裝成功。
5. 關閉Xcode工程,在項目路徑下打開.xcworkspace文件(工作空間文件),此時工作空間中除了你創建的項目外,還有一個名爲Pods的項目,其中包含了你需要的第三方庫,而且底層依賴庫、編譯標記、鏈接符號等都已經設置好了。
6. 如果要在你的項目中使用第三方庫如AFNetworking,則只需要#import <AFNetworking.h>
即可,如果要添加其他的第三方庫,可以直接修改Podfile文件,然後再次執行$ pod install
即可;如果修改了要使用的第三方庫的版本,也可以執行$ pod update
進行更新操作。
說明:可以在Xcode中安裝CocoaPods插件,這樣可以在Xcode中直接通過菜單完成各種操作而不用在終端中鍵入命令。
如果你願意也可以使用Carthage來取代CocoaPods,Carthage是一個去中心化的依賴庫管理工具,和CocoaPods不同它對原有的項目沒有侵入性,你只需要在項目中添加由Carthage生成的Framework文件,然後在"Build Settings"中的"Framework Search Path"項加入$(SRCROOT)/Carthage/Build/iOS
路徑,Xcode便會自動搜索目錄下的 Framework文件,完成對依賴庫的安裝,具體的做法可以參考互聯網上的其他資料。