透過 CocoaPods 來管理第三方的套件

法蘭克的 iOS 世界
6 min readDec 26, 2016

當我們開發專案時,免不了需要引用到第三方的套件,最常遇到的問題就是當套件更新時我們就得必須重新引用,這對我們開發者來說是一件相當耗時的工作,且還有可能誤刪其它套件的風險在,但若使用 CocoaPods 來替我們管理這些套件,就能免去諸如此類的問題發生囉!

在使用 CocoaPods 之前我們先來了解下它,每種語言發展到某種程度時,就會出現相依賴的管理工具,像是管理套件的工具在其它語言也是有的。

例如:

  • Java:maven
  • Nodejs:npm

iOS 不免俗的也出現了 CocoaPods,CocoaPods 的源碼都是被放在 GitHub 上管理的,如果套件開發者有新的版本釋出,我們使用者只要執行一行指令即可更新我們本機端的套件版本喔!今天就分以下幾個章節來介紹它。

  • 如何安裝 CocoaPods。
  • 如何透過來 CocoaPods 引用 GitHub 上的套件。
  • 反安裝 Xcode 專案下利用 CocoaPods 引入的第三方套件。
  • 安裝 CocoaPods

CocoaPods 不需另外下載,它伴隨著 Mac OS 已存在我們的本機上,我們只要在終端機執行安裝的指令即可,安裝過程中會有點耗時,請不要因等待過久就把它關掉。

▼打開終端機執行 sudo gem install cocoapods。

▼再來會要求你輸入登入電腦的密碼,在輸入過程中是不會顯示密碼的,請直接一直往下輸入即可,接下來就靜靜的等待,畫面不動也請不要關掉,直到出現第二個畫面表示已安裝完成(gems installed)。

▼以上已完成安裝 CocoaPods,執行 pod — version 指令可查詢當前的版本。

  • 透過 CocoaPods 引用 GitHub 上的套件。

▼首先建立一個空的專案,名稱為 CocoaPodsDemo

▼以引用 Google AD 第三方套件為例子來說明,Google 會提供這樣的一段指令讓開發者透過 CocoaPods 來引用它。(這段文字一定會是 pod ‘xxxxxxx’ 開頭的)

▼接著我們要產生一個檔名為 Podfile 的純文字(txt)檔並去掉副檔名,並加入以下內容(Podfile 是 CocoaPods 參照的設定檔)

# Uncomment this line to define a global platform for your project platform :ios, ‘9.0’ # Uncomment this line if you’re using Swiftuse_frameworks!target ‘CocoaPodsDemo’ do pod ‘Google-Mobile-Ads-SDK’, ‘~> 7.11.0’end

備註:亦可將目錄切換至要建立profile的目錄下,鍵入「pod init」亦會產生profile 檔。

▼將該檔案放置剛剛建立的空專案下

▼接著再打開終端機,並將路徑切換至剛剛所建立的空專案下。

指令 => cd + 專案路徑

懶得打可以直接拖曳專案至終端機它將會自動產生路徑,拖曳完成後請關掉Xcode 再執行 pod install。 (很重要很重要很重要)

備註:過程會有點久請耐心等待不要關掉直到出現第二張圖的 Pod installation。

▼到此已經算完成安裝第三方的套件了,此時專案的檔案架構已經變了,要打開該專案的路徑也不一樣了,請選擇副檔名為 .xcworkspace 的檔案打開它。

▼最後來測試剛剛安裝的套件是否成功,在任何一個類別鍵入 import GoogleMobileAds,接著重新編譯(command + B)若編譯無誤表示你成功啦!

備註:

1. Google若有釋出新的版本即只要在 Podfile 修改版本號後,打開終端機執行 pod install 即可,或是執行 pod update 亦可。

這兩種指令的差異在於

pod install => 更新至你 Podfile 指定的版本。

pod update => 更新至最新版本。

備註:有無新版本可在官網查詢或 Xcode console 也會自動提示有新版本

https://firebase.google.com/docs/admob/release-notes

2. 這邊只是舉 Google AD 的例子來講解,若在 GitHub 上有提供可使用 CocoaPods 的方式來引入的皆適用此方式。

  • 反安裝 Xcode 專案下利用 CocoaPods 引入的第三方套件。

▼打開終端機執行安裝 CocoaPods 反安裝的套件

$ sudo gem install cocoapods-deintegrate cocoapods-clean

▼執行 CocoaPods 反安裝的指令

$ pod deintegrate [XCODE_PROJECT]

[XCODE_PROJECT] => 要反安裝 CocoaPods 的專案路徑

▼將路徑切換至要反安裝 CocoaPods 的專案路徑,並執行 Clean 的指令

$ pod clean

▼將路徑切換至要反安裝 CocoaPods 的專案路徑,並執行移除 Podfile 的指令

$ rm Podfile

CocoaPods 的官網,有更多的指令等著大家學習喔,若有任何問題,歡迎提出討論。

--

--