第三方庫管理:CocoaPods簡介
本文翻譯自Joshua Greene的部落格
使用第三方庫做一些應用非常簡單!
在本教程中,您將學習如何使用名為CocoaPods流行的第三方庫管理工具。
別急!什麼是第三方庫管理工具,為什麼你需要它?
作為一名iOS開發者,你肯定使用了大量的其它供應商的程式碼,已各種第三方庫的方式。試想一下,這將是多麼困難的是,如果你要自己從頭開始一切!
如果沒有相關的管理工具,你可能只是每個庫的程式碼新增到您的專案。然而,這具有一些缺點:
庫程式碼儲存在您的專案中,浪費空間。
有沒有中央的地方,你可以看到所有可用的庫。
很難找到並更新一個庫的新版本,特別是如果幾個庫需要一起更新。
在專案中下載和使用圖書館,你可能會對這些程式碼做出改變(使其難以在以後更新它們)。
一個第三方庫管理工具可以幫助你克服這些問題。它將獲取原始碼庫,解決庫之間的依賴關係,甚至創造和保持合適的環境,以降低專案的麻煩程度。
你會在本教程中學到第三方庫管理工具CocoaPods的使用經驗。具體而言,您將建立一個使用多種開源庫,獲取並從流行的電視和電影資訊網站trakt.tv(請 翻 牆)顯示資訊的應用程式。
CocoaPods會使這個專案更加容易。請仔細閱讀!
開始
開始之前:本教程假設您熟悉Xcode中,用命令列(command line)工作,使用AFNetworking和JSON資料格式。如果你對這些東西完全陌生(一個基本的瞭解,應該沒問題),你應該參考本網站的
其他教程。
根據他的官方網站,CocoaPods是“在Objective-C的專案管理庫的依賴關係的最佳途徑。”而在這種情況下,廣告是真的!
你可以讓CocoaPods為你下載和更新第三方庫,而不是從GitHub上下載程式碼,並將其複製到您的專案(從而使將來的更新困難)。
在本教程中,你將建立一個應用程式,使用trakt.tv顯示即將到來的電視節目。如果你還沒有聽說過它,trakt可以幫助你跟蹤你觀看節目。 Trakt還有一些其他功能,但是在本教程中你只需要用到一個。
要開始,你首先需要安裝CocoaPods。 CocoaPods執行在Ruby中,這是它唯一需要的環境。幸運的是,所有最新版本的Mac OS X的(從OS X 10.7開始)已經安裝了,因此,所有你需要做的就是更新RubyGems(只是為了確保你有一個最新版本)。
要做到這一點,開啟終端,輸入以下命令:
sudo gem update --system
當要求輸入密碼。終端輸出應該是這個樣子:
此更新可能需要一段時間,所以要有耐心,並給它一些時間才能完成。如果你好奇,也可以看看終端裡面的一些變化。你可以忽略這些變化。接下來,你需要安裝CocoaPods。輸入端子此命令這樣做:
sudo gem install cocoapods
你可能會在安裝過程中收到這樣的提示:
rake's executable "rake" conflicts with /usr/bin/rake
Overwrite the executable? [yN]
如果是這樣,只需 輸入y 繼續
最後,在終端中輸入下面的命令來完成CocoaPods的設定:
pod setup
這個過程可能會需要一段時間,太好了,你現在是設定為使用CocoaPods!
“Show Tracker”APP的介紹
在這裡下載本教程的啟動程式碼。這提供了一個基本的使用者介面。
開啟Main.storyboard,你會看到只有一個檢視控制器:
這是起始的的檢視控制器,就取名為 ViewController。
它有一個 UIScrollView 連線了一個 IBOutlet到 showsScrollView 的聲明裡,一個 UIPageControl 連線到 showsPageControl
它也為 showsPageControl 設定了一個delegate,並提供了一個簡單地方法: pageChanged 它傳遞 showsPageControl 中事件改變的值。
現在,關閉xcode。
安裝你第一個第三方庫
開啟終端,用cd命令符找到 ShowTracker 工程的位置,
cd ~/Path/To/Folder/Containing/ShowTracker
接下去,輸入下面的命令:
pod init
他將創造一個預設的 Podfile ,他是你以後更新和新增第三方庫的入口。
接下去的一行命令用來使用xcode開啟這個podfile:
open -a Xcode Podfile
這個預設的 Podfile 看起來像這樣:
# Uncomment this line to define a global platform for your project
# platform :ios, "6.0"
target "ShowTracker" do
end
用以下程式碼替換 # platform :ios, “6.0” :
platform :ios, "7.0"
這告訴CocoaPods你的專案是針對iOS7的 。
許多第三方庫 - 包括AFNetworking - 有一個最低的iOS版本要求。如果省略這一行,CocoaPods假定一個預設的目標版本。
終於到了用CocoaPods來新增第一個庫了!在 Podfile 中的 target “ShowTracker” do: 後面新增下面程式碼:
target "ShowTracker" do:
這告訴CocoaPods你要使用AFNetworking 2.2.1版本(本教程寫作時的最新版本)作為你的專案庫。
這個連結有關於Podfile格式和語法的更多資訊。如果你想要做的更復雜的東西(如指定“任何版本高於”一個庫的特定版本),你一定要來看看。
儲存並關閉 Podfile 。
你現在需要告訴CocoaPods為您的專案為“裝”的第三方庫。在終端輸入以下命令這樣做(確保你仍然在含ShowTracker專案Podfile的目錄):
pod install
您應該看到輸出類似以下內容:
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.2.1)
Generating Pods project
Integrating client project
它也可能告訴你,這樣的事情:
[!] From now on use `ShowTracker.xcworkspace`.
非常重要!你會在你的專案中看到 ShowTracker.xcworkspace. 這樣一個檔案,這個Cocoapods為你建立的,記住,以後需要開啟這個檔案來寫程式碼。
關閉Xcode專案(如果您有它開啟)和開啟 ShowTracker.xcworkspace。
註冊Trakt
你可以使用Trakt的API之前,你首先需要註冊一個免費賬戶。別擔心 - 它的快速和容易的事情!
註冊後,進入setting - > API頁面,讓您的API KEY。接下來,離開這個頁面,但你很快就會需要這個KEY。
注:本來想繼續更新的,後來發現trakt.tv這個網址被牆。既然Cocoapods的安裝已經實現,那就這樣吧。