iOS 開發 — 套件管理 ( 1 )
CocoaPods 入門
簡介
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
裡可以看到總共分為三個部分,依序是 CocoaPodsTestProj
、 CocoaPodsTestProjTests
、 CocoaPodsTestProjUITests
。在這三個部分我們可以依照各自的需求安裝第三方程式庫,而這次我們要安裝 Alamofire 在 CocoaPodsTestProj
中。
# Pods for CocoaPodsTestProjpod ‘Alamofire’, ‘~> 4.4’
將 Alamofire 以及想要的套件版本輸入至 Podfile
裡相對應的位置,便可以回到 Terminal 輸入指令開始安裝。
~/CocoaPodsTestProj$ pod install
第一次安裝可能需要一些時間,因為 CocoaPods 需要做一些基本設定,安裝完成後便會看到資料夾中多了許多檔案。
Pods
這個資料夾是 CocoaPods 用來存放第三方程式庫的資料夾。剛剛所安裝好的 Alamofire 便是存放於此。Podfile.lock
是用來記錄目前專案中使用套件的版本等資訊。如果想確認目前套件的版本或是不小心更改到Podfile
中的套件資訊,都可以在這個檔案中確認。CocoaPodsTestProj.xcworkspace
這個檔案是由 CocoaPods 生成的 workspace ,將第三方套件引入原本的專案,因此之後開發都會使用此檔案,而並非原本的CocoaPodsTestProj.xcodeproj
。
三、使用第三方程式庫
雙擊CocoaPodsTestProj.xcworkspace
後,從左側的專案導覽列中發現分為兩個部分,分別是 CocoaPodsTestProj
、 Pods
,在 Pods
中可以看到 Podfile
,而 CocoaPodsTestProj
則是原本的專案。
接著,在使用第三方程式庫之前,需要先重新建置一次專案,才能把套件引入至專案中,可以在上排工具列中點擊 Product > Build
進行建置,等待完成後即可在專案裡引用 Alamofire 的程式碼了!
後記
CocoaPods 中還有許多未提及的部分,就留在下篇文章說好了。不過最近好像看到有 SPM (Swift Package Manager) 原生的 Swift 管理套件系統,雖然目前還沒支援 iOS App ,但是之後應該會慢慢取代掉 CocoaPods 的功能,到時候再來寫幾篇關於 SPM 的介紹。