CocoaPods 安裝和使用

本文源自本人的學習記錄整理與理解,其中參考閱讀了部分優(yōu)秀的博客和書籍,盡量以通俗簡單的語句轉述。引用到的地方如有遺漏或未能一一列舉原文出處還望見諒與指出,另文章內(nèi)容如有不妥之處還望指教,萬分感謝。

在 iOS 項目中使用第三方庫可以說是很常見也必然會用到的,但是想要正確的配置是件很繁瑣的事情,幸運的是在Github找到一個叫做CocoaPods的最常用最有名的類庫管理工具可以幫助我們解決這繁瑣的問題 ?.

什么是CocoaPods ??

CocoaPods官方文檔

CocoaPods是 iOS 最常用最有名的類庫管理工具, 通過簡單的命令行就能夠完成繁瑣的類庫導入集成,CocoaPods的出現(xiàn)使得我們可以節(jié)省設置和更新第三方開源庫的時間,在我們有了CocoaPods這個工具之后,只需要將用到的第三方開源庫放到一個名為Podfile的文件中.這樣就方便我們集中管理項目中用到的類庫.Cocoapods意義體現(xiàn)在兩個方面。第一,在引入第三方庫時它可以自動為我們完成各種各樣的配置,包括配置編譯階段、連接器選項、甚至是ARC環(huán)境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方庫,這些類庫是比較“標準的”,而不是網(wǎng)上隨便找到的,這樣可以讓我們找到真正好用的類庫!

了解 CocoaPods?

CocoaPods是用Ruby寫的,并劃分成了若干個Gem包。

CocoaPods在解析執(zhí)行過程中最重要的幾個包的路徑分別是:CocoaPods/CocoaPods、CocoaPods/Core和CocoaPods/Xcodeproj。

CocoaPods / CocoaPod:這是面向用戶的組件,每當執(zhí)行一個pod命令時,這個組件將被激活。它包括了所有實用CocoaPods的功能,并且還能調(diào)用其他gem包來執(zhí)行任務。

CocoaPods / Core:Core gem提供了與CocoaPods相關的文件(主要是podfile和podspecs)的處理。

Podfile:該文件用于配置項目所需要的第三方庫,它可以被高度定制。本文中我們主要在這里做動作。

Podspec:該文件描述了一個庫將怎樣被添加進工程中。.podspec文件可以標識該第三方庫所需要的源碼文件、依賴庫、編譯選項,以及其他第三方庫需要的配置。

Cocoapods安裝步驟

1、升級Ruby環(huán)境 (如果你確定當前使用電腦的 ruby 版本是最新的就不需要再次升級)

終端輸入:$gem update --system

此時會出現(xiàn)

ERROR: While executing gem ... (Gem::FilePermissionError)

You don‘t have write permissions for the

/Library/Ruby/Gems/2.0.0 directory.

zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system

這個是因為你沒有權限去更新Ruby

這個時候你可以在終端使用:$sudo gem update —system來進行升級

這個時候表示Ruby升級結束。

2、安裝CocoaPods時我們要訪問cocoapods.org,該網(wǎng)站可能被我們大天朝墻了,這樣下載安裝可能會是龜速,幸好我們可以用淘寶的Ruby鏡像來訪問該網(wǎng)站,方法如下:

1、gem sources --remove?https://gems.ruby-china.org/

2、gem sources -a?https://gems.ruby-china.com

3. ?等待添加完成

$ gem sources -l 查看當前源地址。

添加成功嘗試安裝

sudo gem install fastlane --verbose

sudo gem install -n /usr/local/bin cocoapods --pre

升級 CocoaPod

如果報錯可以參考:[CocoaPods的安裝及常見錯誤及解決方案](http://www.itdecent.cn/p/ee19d12a4769)

一切暢通無阻!

(以上網(wǎng)址可能以后會有改變,望讀者在使用時查詢下最新的地址,當然本人也會持續(xù)更新)

可以使用下面的命令(紅色部分)查看是否更換鏡像成功(如下圖所示):

安裝成功如下:

4 .查看 Cocoapods 版本: ?pod --version

5. 安裝Cocoapods 倉庫, 換源安裝 repo

>移除原倉庫鏡像

pod repo remove master

>使用清華源安裝到本地 cd ~/.cocoapods/repos/master

git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git?

>最后需要setup一下更新本地倉庫:?pod setup

>查看倉庫信息

pod repo

注意: ?使用的時候?Podfile文件頭部添加 換源后可以忽略

source https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git

6、使用search命令搜索類庫名:

$pod search AFNetworking

如果CocoaPods支持,將會輸出搜索到的所有類庫版本和信息,以及在Podfile中配置的寫法,終端返回信息如下:

-> AFNetworking (2.3.1)

A delightful iOS and OS X networking framework.

pod ‘AFNetworking‘, ‘~> 2.3.1’(這個語句是需要在編輯Podfile的時候輸入的命令,即是如何安裝下載相關類庫的指令)

- Homepage:https://github.com/AFNetworking/AFNetworking

- Source:https://github.com/AFNetworking/AFNetworking.git

- Versions: 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]

- Sub specs: - AFNetworking/Serialization (2.3.1) -

AFNetworking/Security (2.3.1) - AFNetworking/Reachability

(2.3.1) -

AFNetworking/NSURLConnection (2.3.1) - AFNetworking/NSURLSession

(2.3.1)

- AFNetworking/UIKit (2.3.1)

-> AFNetworking+AutoRetry (0.0.5)

Auto Retries for AFNetworking requests

pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘

- Homepage:https://github.com/shaioz/AFNetworking-AutoRetry

- Source:https://github.com/shaioz/AFNetworking-AutoRetry.git

- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

5、需要在工程中創(chuàng)建一個Podfile文件,

使用命令:

$cd /Users/shiyunlei/Desktop/CocoapodsSample(進入工程目錄,cd后面的是工程的路徑)

$ touch Podfile(創(chuàng)建Podfile文件)


然后使用vim編輯Podfile文件,使用命令:

$ vim Podfile

進入如下界面


然后緊接著按鍵盤上的“i”鍵,變成如下狀態(tài),這個時候可以對Podfile文件進行編輯:

1 target '項目名稱' do

2

3 pod 'SVProgressHUD','~> 1.1.3'

4 pod 'AFNetworking','~> 2.6.0'

5 pod 'IQKeyboardManager'

6 pod 'Masonry', '~> 0.6'

7 pod 'FDFullscreenPopGesture', '~> 1.1'

8 pod 'SDCycleScrollView','~> 1.3'

9 pod 'SDWebImage', '~> 3.7.3'

10 pod 'MJRefresh'

11 pod 'HMSegmentedControl'

12

13 end

在編輯完成后按“esc”,

在按“:”,這個時候輸入wq,點擊回車,保存并退出。

這個時候打開Podfile文件就會看到里面添加了剛才在終端輸入的一行語句,如下圖

然后在終端輸入命令安裝相應的第三方類庫

$pod install


因為這個過程需要下載相應的類庫,所以時間和網(wǎng)速有關。

安裝成功之后截圖如下:


這個時候會看到之后打開工程都需要從類型為工程名.xcworkspace文件打開。


常用命令總結

//? 創(chuàng)建默認的 Podfile

$ pod init

//? 第一次使用安裝框架

$ pod install

//? 安裝框架,不更新本地索引,速度快

$ pod install --no-repo-update

終端命令: control + C 取消上一次操作;

//? 今后升級、添加、刪除框架,或者框架不好用都使用這個命令

$ pod update

//? 更新框架,不更新本地索引,速度快

$ pod update --no-repo-update

//? 搜索框架

$ pod search XXX

//? 幫助

$ pod --help

}

每次在更新CocoaPods的Specs時候都會特別慢,很容易失敗,這里給差一個可以縮短是時間的方法


cocoapods 的 sepcs 文件是放在 :~/.cocoapods/repos/

cd 到該目錄時直接執(zhí)行:git clone https://github.com/CocoaPods/Specs.git master

這種方式會特別耗時,而且網(wǎng)速差的時候基本不可能下載成功 !

第一種解決辦法:

可以終端執(zhí)行:git clone --depth=1 https://github.com/CocoaPods/Specs.git master

其實無需全部 clone 下來,可以只 clone 最近一個 commit 的全部代碼就可以;如此能夠至少縮短一半的時間 !

第二種解決辦法:github下載Specs

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容