CocoaPods安裝及使用


  CocoaPods是ios開發平台一個非常流行的第三方庫管理工具。在開發過程中,根據項目復雜程度,通常我們會需要外鏈很多的第三方庫。而添加這些第三方庫的過程有時候會變成一場災難。因此使用CocoaPods來代替我們管理這些庫,將可以大幅縮短我們的開發時間。

  在使用CocoaPods的時候我們並不需要關注它的原理,簡單來講它相當於將github上的第三方庫checkout到你的項目工程目錄中,再直接將這些庫的鏈接添加到你的工程中。並且之后你也可以通過簡單的命令對這些庫進行更新。

  以下就來了解一下CocoaPods的安裝過程以及使用方法:

1.環境配置

  筆者使用的開發環境是Mac OS X 10.11,XCode 7.3。CocoaPods的安裝和使用需要有Ruby環境(Mac系統默認安裝了Ruby環境,如果系統沒有Ruby環境的可以去百度,有很多相關的文檔)。不確定自己系統中是否有Ruby的,可以在終端中輸入命令行:ruby -v查看當前ruby版本。

$ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

  如果確認系統中已經有Ruby環境的,就可以繼續下面的安裝步驟了。

1.安裝

  CocoaPods的安裝是非常簡單的,但是前提是你的網速夠快並且能繞過GFW(這就是為什么程序員必須要有vpn)。

  確保網速夠快(能繞過GFW)的,可以直接執行下面命令:

$sudo gem install cocoapods

  如果執行了這句命令以后,終端很長時間都沒有反應,那么就可以確定你沒有繞過GFW了。這樣的話你就需要按照以下步驟進行安裝了:

  首先,檢查你的ruby源:

$gem sources -l

  默認情況下,終端應該返回如下信息:

*** CURRENT SOURCES ***

https://rubygems.org/

  當然這個源在牆內是訪問不到的。因此我們需要尋找一個可以在國內訪問到的鏡像。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個阿里雲的鏡像,當然隨着時間的推移,未來這個鏡像也有可能無法訪問了,到時候就只能重新尋找了。

  確認鏡像可用后,現在就要開始修改ruby源了。首先執行以下命令刪除原來的ruby源:

$gem sources --remove https://rubygems.org/

  執行命令后可在終端看見以下信息:

https://rubygems.org/ removed from sources

  然后下一步添加你找到的可用的鏡像源:

$gem sources -a http://rubygems-china.oss.aliyuncs.com

  此時如果你再執行gem sources -l命令,就能看到當前鏡像源里只有阿里雲這一個了。此時你就可以重新執行這一段開頭的那句命令了:

$sudo gem install cocoapods

  如果一切正常,你應該能看到一段安裝進度,以及最后有一條信息:

3 gems installed

  確認看見這條信息,就說明你的安裝已經成功了,接下去就可以開始准備在你的項目中使用CocoaPods了。

2.使用

  CocoaPods的使用我們以一個ios上非常通用的AFNetworking為例。首先,你需要檢查你要添加的第三方庫是否支持CocoaPods。在終端中執行以下命令:

$pod search AFNetworking

  執行以后你應該能看到類似如下的一些關於AFNetworking庫的信息:

-> AFNetworking (3.1.0)
   A delightful iOS and OS X networking framework.
   pod 'AFNetworking', '~> 3.1.0'
   - Homepage: https://github.com/AFNetworking/AFNetworking
   - Source:   https://github.com/AFNetworking/AFNetworking.git
   - Versions: 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3,
   3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2,
   2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0,
   2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4,
   1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2,
   1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
   - Subspecs:
     - AFNetworking/Serialization (3.1.0)
     - AFNetworking/Security (3.1.0)
     - AFNetworking/Reachability (3.1.0)
     - AFNetworking/NSURLSession (3.1.0)
     - AFNetworking/UIKit (3.1.0)

  確認AFNetworking庫支持CocoaPods后,接下去我們就可以開始做添加操作了。

  首先在XCode中新建一個project,筆者在這里命名為CocoaPodsTest。然后,在終端中cd到你的project所在的目錄:

$cd /CocoaPodsTest

  然后,執行命令:

$vim Podfile

  添加一個Podfile文件。然后按i進入插入模式,進行編輯,在文件中輸入以下內容:

platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'

  輸入完成后按ESC退出編輯模式,最后輸入:wq保存並退出文件。此時可以發現在項目目錄下多了一個Podfile的文件,請注意這個文件必須與.xcodeproj在同一目錄下。

  (眼尖的朋友可能已經發現了,筆者這里使用的AFNetworking是2.0版本,而search出來的最新版本是3.1.0。這是為了下面執行update方便而進行的設置,這里可以直接填3.1.0)

  不要改變終端中的當前目錄,執行以下命令:

$pod install

  就可以在當前項目中添加CocoaPods支持。安裝完成后可以看到如下信息:

[!] Please close any current Xcode sessions and use `CocoaPodsTest.xcworkspace` for this project from now on.

Sending stats

Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

  該信息表示CocoaPods已成功添加到當前項目中。同時“1 dependency from the Podfile”的意思就是Podfile文件中的AFNetworking庫也添加完畢。同時在項目目錄下你能發現多了Pods目錄以及一個.xcworkspace文件。上面[!]后面提示的信息表示你需要在XCode中關閉現在這個CocoaPodsTest.xcodeproj,並且以后使用CocoaPodsTest.xcworkspace文件打開工程。

  這個時候你打開xcworkspace,應該可以看見Pods已經被添加到工程,並且在Pods組里面,也包含了AFNetworking庫。

  這樣,我們就完成了CocoaPods從安裝到添加到工程的整個流程。而對於已經使用了CocoaPods的工程,可以通過CocoaPods的update功能直接更新包含的第三方庫。

3.更新

  CocoaPods可以非常簡單的使用update語句直接更新所有第三方庫,以下仍然使用AFNetworking為例。

  首先,我們可以看到前面筆者使用的AFNetworking庫,是使用的2.0版本。然而pod search AFNetworking命令執行的時候,能看到AFNetworking目前最新的版本是3.1.0。接下去我們就來看要如何將目前的第三方庫版本更新到最新的版本。

  同樣先cd到項目目錄下,並且開始編輯Podfile文件:

$cd /CocoaPodsTest
$vim Podfile

  將Podfile文件中AFNetworking這一行的2.0改成3.1.0:

platform :ios, '8.1'
pod 'AFNetworking', '~> 3.1.0'

  修改完成后,按ESC退出編輯模式,最后輸入:wq保存並退出文件。

  然后回到終端,執行以下命令就可以開始更新了:

$pod update

  可以看到在返回的信息中有一行綠色的信息:

Installing AFNetworking 3.1.0 (was 2.6.3)

  這就表示項目中的AFNetworking庫已經更新到3.1.0版本了。

4.小結

  CocoaPods的功能非常強大,更高級的使用需求可以訪問CocoaPods的官網https://cocoapods.org/ 查找更多功能。另外在https://github.com/CocoaPods/CocoaPods/wiki 也可以獲得更多信息。

  本文參考了

  http://cnbin.github.io/blog/2015/05/25/cocoapods-an-zhuang-he-shi-yong/

  http://code4app.com/article/cocoapods-install-usage

  兩位分享的內容,在這里致以誠摯的謝意。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM