国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

IOS CocoaPods詳細(xì)使用方法

2019-10-21 18:52:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、什么是CocoaPods

1、為什么需要CocoaPods
在進(jìn)行iOS開發(fā)的時(shí)候,總免不了使用第三方的開源庫(kù),比如SBJson、AFNetworking、Reachability等等。使用這些庫(kù)的時(shí)候通常需要:

下載開源庫(kù)的源代碼并引入工程
向工程中添加開源庫(kù)使用到的framework
解決開源庫(kù)和開源庫(kù)以及開源庫(kù)和工程之間的依賴關(guān)系、檢查重復(fù)添加的framework等問題
如果開源庫(kù)有更新的時(shí)候,還需要將工程中使用的開源庫(kù)刪除,重新執(zhí)行前面的三個(gè)步驟,頓時(shí)頭都大了。。。
自從有了CocoaPods以后,這些繁雜的工作就不再需要我們親力親為了,只需要我們做好少量的配置工作,CocoaPods會(huì)為我們做好一切!

2、什么是CocoaPods
CocoaPods是一個(gè)用來(lái)幫助我們管理第三方依賴庫(kù)的工具。它可以解決庫(kù)與庫(kù)之間的依賴關(guān)系,下載庫(kù)的源代碼,同時(shí)通過創(chuàng)建一個(gè)Xcode的workspace來(lái)將這些第三方庫(kù)和我們的工程連接起來(lái),供我們開發(fā)使用。

使用CocoaPods的目的是讓我們能自動(dòng)化的、集中的、直觀的管理第三方開源庫(kù)。

二、安裝CocoaPods

1、安裝
CocoaPods是用Ruby實(shí)現(xiàn)的,要想使用它首先需要有Ruby的環(huán)境。幸運(yùn)的是OS X系統(tǒng)默認(rèn)的已經(jīng)可以運(yùn)行Ruby了,因此我們只需要執(zhí)行以下命令:

$ sudo gem install cocoapods 

CocoaPods是以Ruby gem包的形式被安裝的。在安裝執(zhí)行的過程中,可能會(huì)問我們是不是更新rake,輸入y即可。這是因?yàn)閞ake gem包會(huì)在安裝的過程中檢查更細(xì),如果有可用的新版本就會(huì)出現(xiàn)剛才的選項(xiàng)。
在安裝進(jìn)程結(jié)束的時(shí)候,執(zhí)行命令:

$ pod setup

如果沒有報(bào)錯(cuò),就說(shuō)明一切安裝就成功了!
2、安裝過程中可能遇到的問題
①執(zhí)行完install命令半天沒反應(yīng)
這有可能是因?yàn)镽uby的默認(rèn)源使用的是cocoapods.org,國(guó)內(nèi)訪問這個(gè)網(wǎng)址有時(shí)候會(huì)有問題,網(wǎng)上的一種解決方案是將遠(yuǎn)替換成淘寶的,替換方式如下:

$ gem sources --remove https://rubygems.org/ //等有反應(yīng)之后再敲入以下命令 $ gem sources -a http://ruby.taobao.org/ 

要想驗(yàn)證是否替換成功了,可以執(zhí)行:

$ gem sources -l 

正常的輸出是:

*** CURRENT SOURCES ***  http://ruby.taobao.org/ 

②gem版本過老
gem是管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包,如果它的版本過低也可能導(dǎo)致安裝失敗,解決方案自然是升級(jí)gem,執(zhí)行下述命令即可:

$ sudo gem update --system 

③安裝完成后,執(zhí)行pod setup命令時(shí)報(bào)錯(cuò):

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'

這就是路徑設(shè)置的問題,可以通過執(zhí)行:

$ rvm use ruby-1.9.3-p448 

解決該問題。
3、升級(jí)CocoaPods
升級(jí)很簡(jiǎn)單,再次執(zhí)行安裝命令即可:

$ sudo gem install cocoapods 

需要注意的是,如果安裝的時(shí)候使用了sudo,升級(jí)的時(shí)候一樣需要使用該關(guān)鍵字,不然升級(jí)完了以后又會(huì)出現(xiàn)路徑不匹配問題。


三、使用CocoaPods
如果之前做的一切順利,接下來(lái)就可以體驗(yàn)體驗(yàn)CocoaPods的神奇之處了,需要經(jīng)過以下幾步:

為了演示這個(gè)過程,我創(chuàng)建了一個(gè)名為CocoaPodsTest的工程。

1、創(chuàng)建Podfile
CocoaPods的一切都是從一個(gè)名為Podfile的文件開始的,我們需要先創(chuàng)建這個(gè)文件。個(gè)人習(xí)慣使用命令行,我會(huì)這樣做:

$ cd /Users/wangzz/Desktop/CocoaPodsTest$ touch Podfile

首先進(jìn)入到工程的根目錄下,創(chuàng)建空白的Podfile文件,創(chuàng)建完畢的目錄結(jié)構(gòu)如下圖:

IOS,CocoaPods

(PS:Podfile文件也可以不放在工程的根目錄下,只是會(huì)稍微麻煩點(diǎn),在下一篇文章中會(huì)有介紹,敬請(qǐng)關(guān)注。)

2、編輯Podfile
根據(jù)需要,我們可以在Podfile文件中寫入需要用到的第三方庫(kù),以SBJson、AFNetworking、Reachability三個(gè)庫(kù)為例,我的Podfile內(nèi)容如下:

platform :iospod 'Reachability', '~> 3.0.0'pod 'SBJson', '~> 4.0.0'platform :ios, '7.0'pod 'AFNetworking', '~> 2.0'

3、執(zhí)行導(dǎo)入命令
準(zhǔn)備工作都完成后,開始導(dǎo)入第三方庫(kù):

$ cd /Users/wangzz/Desktop/CocoaPodsTest$ pod install

首先進(jìn)入工程根目錄,然后執(zhí)行pod install命令,CocoaPods就開始為我們做下載源碼、配置依賴關(guān)系、引入需要的framework等一些列工作,命令的執(zhí)行結(jié)果打印出來(lái)如下:

Analyzing dependenciesDownloading dependenciesInstalling AFNetworking (2.1.0)Installing JSONKit (1.5pre)Installing Reachability (3.0.0)Generating Pods projectIntegrating client project[!] From now on use `CocoaPodsTest.xcworkspace`.

這就說(shuō)明pod install命令執(zhí)行成功了。再來(lái)看看工程根目錄發(fā)生的變化,如下圖:

IOS,CocoaPods

可以看到,工程的根目錄下多了三個(gè)東西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目錄。

(PS:篇幅有限,Podfile.lock文件會(huì)放到系列文章的下一篇介紹,敬請(qǐng)關(guān)注。)

再看看剛才執(zhí)行完pod install命令打印出來(lái)的內(nèi)容的最后一行:

[!] From now on use `CocoaPodsTest.xcworkspace`.

提示我們從現(xiàn)在起,我們需要使用CocoaPodsTest.xcworkspace文件來(lái)開發(fā)。
對(duì)于工程發(fā)生的變化,有幾點(diǎn)需要說(shuō)明:

第三方庫(kù)會(huì)被編譯成靜態(tài)庫(kù)供我們正真的工程使用


CocoaPods會(huì)將所有的第三方庫(kù)以target的方式組成一個(gè)名為Pods的工程,該工程就放在剛才新生成的Pods目錄下。整個(gè)第三方庫(kù)工程會(huì)生成一個(gè)名稱為libPods.a的靜態(tài)庫(kù)提供給我們自己的CocoaPodsTest工程使用。

我們的工程和第三方庫(kù)所在的工程會(huì)由一個(gè)新生成的workspace管理
為了方便我們直觀的管理工程和第三方庫(kù),CocoaPodsTest工程和Pods工程會(huì)被以workspace的形式組織和管理,也就是我們剛才看到的CocoaPodsTest.xcworkspace文件。

 

原來(lái)的工程設(shè)置已經(jīng)被更改了,這時(shí)候我們直接打開原來(lái)的工程文件去編譯就會(huì)報(bào)錯(cuò),只能使用新生成的workspace來(lái)進(jìn)行項(xiàng)目管理。

打開CocoaPodsTest.xcworkspace,界面如下:

IOS,CocoaPods

工程的目錄結(jié)構(gòu)還是非常明顯的。

在項(xiàng)目中引用剛才添加的第三方庫(kù)的頭文件,執(zhí)行編譯操作,果斷成功!
至此,CocoaPods使用篇告一段落,接下來(lái)打算再用一個(gè)篇幅介紹CocoaPods稍微深層次的東西,敬請(qǐng)關(guān)注。

四、參考資料

1、http://code4app.com/article/cocoapods-install-usage
2、http://cocoapods.org/


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到IOS開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 雅江县| 南靖县| 和政县| 秦安县| 夏邑县| 亚东县| 岑巩县| 冷水江市| 延寿县| 太和县| 通辽市| 建瓯市| 马山县| 汕尾市| 始兴县| 海南省| 宝坻区| 宣威市| 县级市| 华阴市| 玉溪市| 陕西省| 普兰店市| 百色市| 盐亭县| 南和县| 双辽市| 台北县| 和静县| 通州市| 当阳市| 咸丰县| 沂源县| 当涂县| 宝坻区| 六枝特区| 南郑县| 昌江| 沾化县| 车险| 互助|