iOS 開發 — 套件管理 ( 1 )

CocoaPods 入門

郭毓棠
Practicode
4 min readMay 20, 2017

--

簡介

CocoaPods 是一個 iOS 套件的管理系統,他可以幫助 iOS App 的開發者更為便利的管理需要引用的套件。譬如說一個 iOS App 的專案,可能需要使用到很多的第三方程式庫來完成專案的一些功能,像是 Facebook SDK 或是 Google Maps SDK 等。如果所有的第三方程式庫都是由開發者手動設定,那便可能會需要花上半天的時間。然而透過 CocoaPods 來安裝其他第三方程式庫,由於 CocoaPods 已經做好許多的設定,能夠幫助開發者節省安裝其他第三方程式庫的時間,開發者就不用再為管理套件而多費心力了。

安裝

CocoaPods 是使用 Ruby 開發而成,由於 Apple 電腦基本上都有完整 Ruby 的開發環境。因此, CocoaPods 可以輕鬆地透過 Terminal 安裝:

$ sudo gem install cocoapods

安裝的過程可能會需要花一點時間,之後就可以來使用了!

使用

接下來要開始介紹 CocoaPods 的簡易使用流程。我們以 Alamofire 這個處理網路溝通的第三方程式庫為例,透過 CocoaPods 將其引用至專案中。

一、初始化 Podfile

首先,用 Xcode 建置一個新的 iOS 專案 CocoaPodsTestProj 。接著用 Terminal 進入到 CocoaPodsTestProj 這個資料夾,然後輸入:

~/CocoaPodsTestProj$ pod init

就會看到 Podfile 這個檔案,接下來就要來安裝 Alamofire 了。

Podfile

二、安裝第三方程式庫

Podfile 裡可以看到總共分為三個部分,依序是 CocoaPodsTestProjCocoaPodsTestProjTestsCocoaPodsTestProjUITests 。在這三個部分我們可以依照各自的需求安裝第三方程式庫,而這次我們要安裝 AlamofireCocoaPodsTestProj 中。

# Pods for CocoaPodsTestProjpod ‘Alamofire’, ‘~> 4.4’

Alamofire 以及想要的套件版本輸入至 Podfile 裡相對應的位置,便可以回到 Terminal 輸入指令開始安裝。

~/CocoaPodsTestProj$ pod install

第一次安裝可能需要一些時間,因為 CocoaPods 需要做一些基本設定,安裝完成後便會看到資料夾中多了許多檔案。

  1. Pods 這個資料夾是 CocoaPods 用來存放第三方程式庫的資料夾。剛剛所安裝好的 Alamofire 便是存放於此。
  2. Podfile.lock 是用來記錄目前專案中使用套件的版本等資訊。如果想確認目前套件的版本或是不小心更改到 Podfile 中的套件資訊,都可以在這個檔案中確認。
  3. CocoaPodsTestProj.xcworkspace 這個檔案是由 CocoaPods 生成的 workspace ,將第三方套件引入原本的專案,因此之後開發都會使用此檔案,而並非原本的 CocoaPodsTestProj.xcodeproj

三、使用第三方程式庫

雙擊CocoaPodsTestProj.xcworkspace 後,從左側的專案導覽列中發現分為兩個部分,分別是 CocoaPodsTestProjPods ,在 Pods 中可以看到 Podfile ,而 CocoaPodsTestProj 則是原本的專案。
接著,在使用第三方程式庫之前,需要先重新建置一次專案,才能把套件引入至專案中,可以在上排工具列中點擊 Product > Build 進行建置,等待完成後即可在專案裡引用 Alamofire 的程式碼了!

後記

CocoaPods 中還有許多未提及的部分,就留在下篇文章說好了。不過最近好像看到有 SPM (Swift Package Manager) 原生的 Swift 管理套件系統,雖然目前還沒支援 iOS App ,但是之後應該會慢慢取代掉 CocoaPods 的功能,到時候再來寫幾篇關於 SPM 的介紹。

--

--