一吭敢、什么是CocoaPods碰凶?
前言: 思考如何引入一個(gè)第三方框架。 例如: 百度地圖SDK鹿驼、友盟欲低、ShareSDK、 信鴿推送等畜晰。
從github或某處下載第三方SDK
工程中導(dǎo)入所需要的SDK的文件 .a 或 .framework
添加SDK文件所依賴的系統(tǒng)的.framework砾莱。比如:
需要導(dǎo)入SystemConfiguration.framework、CoreLocation.framework凄鼻、UIKit.framework腊瑟、libsqlite3. dylib(Xcode 7.0下是tbd文件)等很多系統(tǒng)庫。
有可能還需修改-ObjC块蚌、修改Objective-C++
如果SDK更新了, 我們還需要把這個(gè)SDK移除掉, 再拖入一次
正如上所述闰非,大家如果要使用第三方的SDK,需要重復(fù)以上的步驟匈子。如此麻煩又浪費(fèi)時(shí)間, 并且都是重復(fù)性的操作河胎,并沒有任何營養(yǎng)。因此, 如果想避免上述重復(fù)性的操作就可以使用CocoaPods這個(gè)工具虎敦。
CocoaPods 是一個(gè)第三方庫依賴管理工具游岳。使用一行終端命令即可達(dá)到引入第三方庫的目的政敢。CocoaPods的使用方式非常簡單。
二胚迫、CocoaPods安裝前準(zhǔn)備
CocoaPods使用Ruby語言編寫而成喷户。因此需要Ruby的環(huán)境, 慶幸的是OS X已經(jīng)集成了Ruby環(huán)境。我們所需要的做的就是通過gem去安裝CocoaPods即可访锻。
首次安裝CocoaPods之前褪尝,Ruby默認(rèn)源在墻外, 因此我們需要修改下Ruby默認(rèn)使用的源:
1.查詢Ruby的源
gem source -
查詢結(jié)果如下:
*** CURRENT SOURCES ***
https://rubygems.org/
查到的這個(gè)源是在墻外, 并且淘寶為我們提供了對(duì)應(yīng)的源鏈接,因此我們需要先移除源鏈接, 再添加淘寶的源:
2.移除Ruby的源
gem source --remove https://rubygems.org/
移除結(jié)果如下:
http://rubygems.org/ removed from sources
3.添加Ruby的源(最近做了修改, 改為了https)
gem source -a https://ruby.taobao.org/
添加結(jié)果如下:
https://ruby.taobao.org/ added to sources
對(duì)源的操作完成后, 就可以安裝CocoaPods了期犬。
三河哑、CocoaPods安裝
運(yùn)行以下命令, 即可實(shí)現(xiàn)CocoaPods的安裝
sudo gem install cocoapods
運(yùn)行之后需要輸入電腦的密碼, 并且沒有密碼輸入的位數(shù)提醒。輸完密碼就進(jìn)行安裝了龟虎,安裝過程可能會(huì)很慢璃谨,耐心等待。
上述命令安裝完成后鲤妥,輸入以下命令, 進(jìn)行Cocoapods的建立
pod setup
如果上述命令運(yùn)行,且無錯(cuò)誤即完成了CocoaPods的安裝!
CocoaPods安裝過程中可能遇到的問題
xcrun找不到Xcode
xcrun: error: active developer path
("/Applications/Xcode.app/Contents/Developer/") does not exist, use \xcode-select --switch path/to/Xcode.app\ to specify the Xcode that you wish to use for command line developer tools (or see \man xcode-select\)
運(yùn)行以下命令, 讓xcrun的運(yùn)行路徑找到對(duì)應(yīng)的Xcode
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
四佳吞、CocoaPods的使用
1. 創(chuàng)建一個(gè)需要使用CocoaPods的工程, 并在工程目錄下創(chuàng)建Podfile文件
cd /Users/QCL/Desktop/CocoaPods
pod init
創(chuàng)建完成如下圖中, 會(huì)出現(xiàn)Podfile文件
2.編輯Podfile文件
open -a Xcode Podfile
其中#為注釋部分
打開后, 在 target 'CocoaPods' do 與 end 之間輸入你想導(dǎo)入的框架, 我們以AFNetworking為例:
target 'CocoaPods' do
pod 'AFNetworking'
end
3.執(zhí)行cocoapods的安裝操作
同樣也是要在工程目錄下
執(zhí)行以下命令:
pod install
等其執(zhí)行完畢,即可完成第三方庫的安裝
其中還可以調(diào)用pod update方法, 也可以達(dá)到第三方庫安裝的目的, 并且會(huì)更新版本
在pod install或者pod update過程中會(huì)執(zhí)行podspec索引的更新棉安,需要等待很久底扳,因此為了提升速度可以執(zhí)行如下命令, 關(guān)掉索引的更新
pod install --no-repo-update
并且在安裝過程中, 我們不知道cocoapods做了什么, 還可以添加一個(gè)參數(shù),用來提示我們贡耽,cococapods做了哪些操作
pod install --verbose --no-repo-update
安裝完成后, 工程目錄下會(huì)多出一個(gè)白色的文件衷模,如下圖:
之后再打開工程,就用白色的工程文件打開蒲赂,不再使用藍(lán)色的工程文件算芯。
打開之后,工程的目錄層級(jí)如下圖:
其中Pods工程目錄是用來存放第三方庫和配置文件的凳宙,上面的CocoaPods依舊是我們的工程文件, 在它之中,我們可以繼續(xù)正常的編寫代碼职祷。為了驗(yàn)證是否安裝成功, 我們可以在AppDelegate.m中引入我們所要使用的第三方庫的頭文件氏涩,如引入AFNetworking#import這里需要注意的是, 以后再引入第三方框架,要當(dāng)系統(tǒng)框架去引入用\
#import <框架頭文件.h>
4.pod搜索功能
CocoaPods上的大部分第三方框架均來自于GitHub, 因此數(shù)量也很龐大有梆,記名字是很不明智的是尖,因此,我們可以選擇通過搜索來找到自己想要尋找的第三方框架泥耀。
pod search 框架關(guān)鍵字, 如下:
pod search sdweb
通過搜索命令, 搜索到的內(nèi)容如下圖:
然后把你想要的框架的名字, 復(fù)制到Podfile文件中即可饺汹,Podfile文件中的第三方可以有多個(gè), 需要幾個(gè),就填入幾個(gè)痰催,CocoaPods會(huì)全部幫你下載下來兜辞。
至此, 就完成了CocoaPods的創(chuàng)建和使用迎瞧。
五 其它
當(dāng)我們想要重新安裝CocoaPods的時(shí)候,需要卸載這個(gè)東西逸吵,很簡單凶硅,只需要執(zhí)行以下命令即可:
1?$?sudo?gem?uninstall?CocoaPods
如果安裝了多個(gè)版本,選擇All扫皱,即可全部卸載足绅!?第三方版本號(hào)的各種寫法與含義:
1.pod?'AFNetworking'??????//不顯式指定依賴庫版本,表示每次都獲取最新版本
2.pod?'AFNetworking',??'2.0'?????//只使用2.0版本?
3.pod?'AFNetworking',?'>2.0'?????//使用高于2.0的版本?
4.pod?'AFNetworking',?'>=2.0'?????//使用大于或等于2.0的版本?
5.pod?'AFNetworking',?'<2.0'?????//使用小于2.0的版本?
6.pod?'AFNetworking',?'<=2.0'?????//使用小于或等于2.0的版本
7.pod?'AFNetworking',?'~>0.1.2'?????//使用大于等于0.1.2但小于0.2的版本韩脑,相當(dāng)于>=0.1.2并且<0.2.0
8.pod 'AFNetworking', '~>0.1'? ? //使用大于等于0.1但小于1.0的版本
9. pod 'AFNetworking', '~>0'? ? //高于0的版本氢妈,寫這個(gè)限制和什么都不寫是一個(gè)效果,都表示使用最新版本
作者聲明:文章為轉(zhuǎn)載~整理