問題:在我們日常開發中,難免會用到一些第三方庫(比如
AFNetworking
、SDWebImage
...),而這些第三方庫也許會引用一些別的第三方庫,於是我們又要引入別的第三方庫。(古語:子子孫孫無窮盡也) 另外,如果第三方庫更新了,還要手動重新引入新的庫。(總之就是很麻煩)
- 需求:是否能有個工具,能幫助開發者們管理第三方庫?在第三方庫更新時,能通過一些簡單命令,及時更新第三方庫?
於是,強大的CocoaPods
誕生了。
今天我們就來介紹一下CocoaPods
,以及CocoaPods
的“安裝”和“基本使用”。
一、CocoaPods簡介:
CocoaPods是開發iOS專案的庫管理工具。它擁有超過55,000個庫,並在超過300萬個應用程式中使用。通過CocoaPods可以幫助我們優雅地擴充套件專案,便捷的匯入第三方開源庫。
二、CocoaPods的環境搭建:
-
第一步:首先在安裝CocoaPods之前,需要安裝好***Ruby***環境。
-
第二步:使用ruby-china的Ruby映象源。 先用命令:
$ gem sources --remove https://rubygems.org/
。 再用命令:$ gem sources -a https://gems.ruby-china.com/
。 為了驗證Ruby映象源是ruby-china,可使用命令:$ gem sources -l
。 -
第三步:安裝cocoaPods: 使用命令:
sudo gem install cocoapods
(若無讀寫許可權:用sudo gem install -n /usr/local/bin cocoapods
代替。)
三、CocoaPods的基本使用:
步驟如下:
1. 先通過terminal找到專案目錄,並新建Podfile。
使用命令:pod init
。
2. 開啟Podfile檔案。
使用命令:open Podfile
。
3. 搜尋需要匯入的框架。
使用命令:pod search 框架名
。
4. 把所要匯入的框架資訊寫入Podfile檔案。
platform:ios,'10.0'
target :你的專案名字 do
pod'AFNetworking','~>3.2.1'
pod'SDWebImage'
...
end
複製程式碼
關於版本範圍:
符號 | 含義 |
---|---|
> 0.1 |
高於0.1版本(不包含0.1版本)的任意一個版本 |
>= 0.1 |
高於0.1版本(包含0.1版本)的任意一個版本 |
< 0.1 |
低於0.1版本(不包含0.1版本)的任意一個 |
<= 0.1 |
低於0.1版本(包含0.1版本)的任意一個 |
~> 0.1.2 |
版本 0.1.2的版本到0.2 ,不包括0.2。 等效於>= 0.1.2並且 <0.2.0,並且始終是你指定範圍內的最新版本。 |
不指定 | 預設為最新版本 |
5. 安裝第三方框架
使用命令:pod install
(PS:如果當前網路狀況不好,可以不更新索引庫,直接用命令pod install --no-repo-update
即可。)
四、舉例
這裡小編舉了一個匯入AFNetworking
、SDWebImage
框架w的例子。
-
我們新建一個工程:QiCocoaPods。
-
通過終端找到工程所在目錄 並 新建Podfile檔案,如下圖:
-
使用命令:
pod search AFNetworking
就出現如下介面: -
使用命令:
open podfile
開啟Podfile檔案。寫入框架資訊,如圖: -
安裝指定第三方庫:使用命令
pod install
。如下圖:
- 開啟
.xcworkspace
檔案,開始程式設計。(.xcworkspace
代替了.xcodeproj
)
五、補充答疑
- 補充一:
pod install
與pod update
的區別?
答: pod install:安裝類庫,第一次使用時,用pod install,安裝所需要的所有類庫。後續使用時,會引入之前沒有引入的類庫。 pod update:更新所有的類庫到指定版本範圍內的最新版本。
- 補充二:
pod install
與pod install --no-repo-update
的區別?
答: pod install:在安裝前會更新本地repo庫。 pod install --no-repo-update:不會更新本地repo庫,直接安裝pod。
作者微信:
關注我們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公眾號)
推薦文章:
iOS 掃描二維碼/條形碼
iOS 瞭解Xcode Bitcode
iOS 重繪之drawRect
iOS 編寫高質量Objective-C程式碼(八)
奇舞週刊