2015年11月25日

使用CocoaPods管理XCode第三方開放原始碼套件

前言


以往在XCode中使用開放原始碼的第三方套件時, 總是要手動將第三方套件的原始碼放入XCode專案中。 然而,一旦第三方套件一多,逐一更新遂成了麻煩的瑣碎事。
因此,便有了專門管理第三方套件的CocoaPods。

在Mac下安裝CocoaPods


安裝CocoaPods需要透過RubyGems 。 不過Mac OS已經預先安裝好了,因此就不再贅述。
請執行以下指令,安裝CocoaPods:
sudo gem install cocoapods

建立Podfile


接著是使用CocoaPods安裝第三方套件的步驟:
首先,在專案目錄下 (與xcodeproj檔案同一個目錄) 建立一個純文字檔案,名為Podfile



這個檔案將描述所有你所使用的第三方套件。
接著,請看第三方套件的網頁,說明其Podfile的寫法。 我們以AlamofireStarscream這兩個套件為例:

Alamofire:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Alamofire', '~> 3.0'
Starscream:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Starscream', '~> 1.0.0'
注意到了嗎? 前幾行宣告支援的環境,因此大同小異。
而最重要的在於這行:
pod '套件名稱' 
因此,我們的podfile檔案可以撰寫如下: (此Podfile描述使用了Starscream, Alamofire, 以及FMDB)
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Starscream', '~> 1.0.0' pod 'Alamofire', '~> 3.0' pod 'FMDB'

特別注意: 若你的專案使用swift語言,請務必加上use_frameworks!
最後,執行
pod install
CocoaPods將會開始下載並設定這些第三方套件至你目前的專案。
你可以看到終端機上顯示類似以下訊息:



使用xcworkspace檔案開啟專案

第三方套件安裝完成後, 很重要的,往後開發此專案時,必須改為開啟xcworkspace檔案



開啟xcworkspace檔案後,你可以在Pods專案中看到所有第三方套件。



執行編譯時,這些第三方套件的原始碼也會一同編譯。


移除第三方套件


只要把需要移除的套件那行,拿掉或是用註解隱藏即可。
舉例來說,如果我想移除FMDB, 則可以將podfile檔案中的FMDB那行前面加上井字號:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Starscream', '~> 1.0.0'
pod 'Alamofire', '~> 3.0'
#pod 'FMDB'
之後,執行
pod update

則可以看到在終端機中看到FMDB被移除的訊息