搜索到一篇講CocoaPods很好的文章,懼怕未來沉了,因此轉發出來。ios
原帖位置:https://www.appcoda.com.tw/cocoapods/。swift
做為iOS開發者都應該認識 CocoaPods,它是一種支援 Swift 和 Objective-C 程式開發的第三方庫資源相依性管理工具。若是你是初學者,並沒有接觸過 CocoaPods,這篇教學會讓你瞭解什麼是 CocoaPods、若是開始使用、怎樣利用 CocoaPods 去創建專案。vim
有別於一貫 AppCoda 的教學,這篇教學相對簡短,目的只為你打開接觸 CocoaPods 之門。xcode
透過 CocoaPods,開發者能夠輕鬆地管理 Swift 或 Objective-C 的程式專案。若果你有曾經使用 Node.js、Ruby on Rails 或 Python,應該對這種相依性管理工具不會陌生。就算從來未有接觸也不要緊,我們先來簡單瞭解一下。首先,若果沒有相依性管理工具協助下,使用類庫便須要逐一下載並加入Xcode項目中,但當專案規模增大,要處理的類庫數目增長,逐一手動新增或更新絕對是費時失事之舉。開發者透過相依性管理工具(如 CocoaPods)幫助輕鬆管理Xcode項目,只須要透過簡單的指令就能管理類庫項目,節省大量配置和部署的時間。app
舉例:你正在編寫一支程式,並須要使用如Firebase這種第三方類庫。工具
Firebase 自己是一個第三方類庫,但通常而言它須要與別的第三方類庫互相調用。因此,你便須要滙入包括Firebase自己及所需相關的類庫。開發者若然須要自行手動逐一處理,這無疑是一個冗長繁複的過程。ui
繼而日後 Firebase 的 SDK 有所更新,開發人員須要從新下載並手動替換 SDK。this
為了方便管理類庫,於是𧗠生很多相依性管理工具。一旦安裝了,它會自動尋找並安裝類庫或相連類庫。接下來我們會詳細再解釋它的功能。atom
安裝 CocoaPods 的步驟簡單直接,前往終端機 (terminal) 並依下列程式碼輸入:spa
sudo gem install cocoapods
單是這一行程式碼便能把 CocoaPods 包 (gem) 安裝到你的電腦。CocoaPods 是基於 Ruby 語言開發而成,而 Mac 電腦都有自帶 Ruby 系統。若果你自己熟悉 Ruby 語言,那麼 CocoaPods 的 pods 就近乎於 Ruby 的 gems。
你會被提示輸入根密碼並點擊輸入。要注意終端機並不會顯示輸入的密碼。
整個安裝程序大概花上幾分鐘,耐心等候完成。
當 CocoaPods 完成安裝,即可以開始使用。我們將會創建一個簡單的專案,以展現如何使用 CocoaPods 在專案內安裝 Firebase 類庫。
首先,新增一個 Xcode 專案並命名為 CocoapodsTest
。關閉專案並返回終端機,使用 cd
(change directory) 指令以導航至新的 Xcode 專案。假設你把新專案存儲在桌面 (Desktop),輸入如下的指令:
cd ~/Desktop/CocoapodsTest
然後,我們須要在專案的根目錄下新增一個 Podfile 文件,被安裝的 pods 都會寫入至 Podfile 以做紀錄及追蹤更新。日後當你呼叫 CocoaPods 去安裝或更新現存的 pods,CocoaPods 便會前往 Podfile 搜找指令。
要創建 Podfile 是相當簡單,輸入如下指令:
pod init
這樣便會生成 Podfile,像這樣:
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'CocoapodsTest' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for CocoapodsTest
end
這是 Podfile 最基本的結構。然後你須要為檔案做出修改及指定所需的 pods。我們將會用到一個名為 Vim 的文字編輯器,Vim 也是自帶在 Mac 電腦並容許開發者在終端機編輯內容。當然,你也可使用其餘的文字編輯器,如 Atom。
根據如下指令在Vim打開檔案:
vim Podfile
假設你在Xcode專案中只是使用 Firebase,故此做出編輯 Firebase pod 的配置以下:
1
2
3
4
5
6
7
8
9
10
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'CocoapodsTest' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for CocoapodsTest
pod 'Firebase'
end
就是這樣。輸入如下指令離開 Vim:
:wq
:wq
的意思是編寫及離開 (write and quit),當存儲完成後便會關閉 Vim。
開始最後一個步驟以前,先重溫一次以上的配置:
pod ‘Firebase’
) 使 CocoaPods 知道我們須要用上 ‘Firebase’ pod。或許你會提出一個疑問:我們怎樣知道 pod 的名稱?在通常情況下,你能夠在 pod 的文檔中找到或在 cocoapods.org 搜尋。現在你應該更加明瞭 pod 檔案,在終端機輸入下列指令以完成最後步驟:
pod install
CocoaPods 現在開始安裝 Firebase pod!下載後它會創建一個名為 ‘CocoapodsTest.xcworkspace’ 的 workspace。這個檔案包含了你的 Xcode 專案、 Firebase 資源庫、其餘相依性類庫和文檔。
由現在開始,我們就使用 CocoapodsTest.xcworkspace
而非 CocoapodsTest.xcodeproj
。
當你開啟 ‘CocoapodsTest.xcworkspace’,你會找到 ‘CocoapodsTest’ 專案和 ‘Pod’ 專案,兩者皆存放於 ‘Firebase’ 資源庫內。
回到 Xcode並進入IDE,前往 ViewController.swift
。在頂端輸入下列指令:
import Firebase
這樣作能夠把 Firebase pod 滙入,並在 CocoaPods 中使用。
CocoaPods 是一支超級簡單的工具,大大減輕 iOS 開發者管理類庫的時間和工序。但願這篇教學能夠讓你對 CocoaPods 有初步的認識和了解。若是有任何疑問或困難,歡迎留言查詢。
今年3月中 AppCoda 也曾經來過臺北舉辦了一場工做坊,當天 Simon Ng 就給你們簡介了 Cocoapods,歡迎點擊這裡重溫當日的簡報。
另外,我們將在不久的將來再次來臺灣舉辦工做坊,有興趣參加的人士歡迎點擊連結留下聯絡資料,當日期地點落實後便會發送詳情給你。