iOS - CocoaPods的安裝及使用

一、概要

iOS開發(fā)時(shí),項(xiàng)目中會(huì)引用許多第三方庫(kù),CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用來(lái)方便的統(tǒng)一管理這些第三方庫(kù)。

二、安裝

由于網(wǎng)上的教程基本都大同小異,但細(xì)節(jié)之處還不是很完善,所以借機(jī)會(huì)在這里補(bǔ)充下:

注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods需要Ruby環(huán)境

1、Ruby環(huán)境搭建

當(dāng)前安裝環(huán)境為Mac mini 10.8.5。Mac ?OS本身自帶Ruby,但還是更新一下保險(xiǎn),因?yàn)槲业谝淮伟惭b在沒有更新Ruby的情況下就失敗了。

a 查看下當(dāng)前ruby版本:打開終端輸入 ruby -v(確實(shí)安裝了,不過(guò)用這個(gè)版本接下來(lái)工作失敗了,所以更新下ruby)

打開終端,輸入?

?ruby -v ?

回車;

b 更新ruby

終端輸入如下命令(把Ruby鏡像指向taobao,避免被墻,你懂得)

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

gem sources -a https://ruby.taobao.org/(已改為:gem sources -a https://gems.ruby-china.com/)

gem sources -l ?(用來(lái)檢查使用替換鏡像位置成功)

再輸入

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

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

gem sources -l

回車;

2、下載安裝CocoaPods

終端輸入:sudo gem install cocoapods

再輸入

sudo gem install cocoapods

回車;

Installing?ri?documentation?for?cocoapods-0.32.1

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280:?warning:?conflicting?chdir?during?another?chdir?block

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287:?warning:?conflicting?chdir?during?another?chdir?block

Done?installing?documentation?for?cocoapods?after?10?seconds

1?gem?installed

這樣就下載安裝好了CocoaPods


3、使用CocoaPods

a ?新建一個(gè)項(xiàng)目,名字PodTest

b? 終端中,cd到項(xiàng)目總目錄(注意:包含PodTest文件夾、PodTest.xcodeproj、PodTestTest的那個(gè)總目錄)

c? 建立Podfile(配置文件)

?cd 到項(xiàng)目總目錄,輸入

vim Podfile

回車;

輸入i,進(jìn)入編輯模式,

回車;

輸入

platform :ios, '8.0'

#use_frameworks!

target '項(xiàng)目名稱' do———————記得改名字

pod 'AFNetworking', '~> 3.0’

end


然后按Esc,并且輸入“:”號(hào)進(jìn)入vim命令模式,然后在冒號(hào)后邊輸入wq


cd到項(xiàng)目總目錄pod install


轉(zhuǎn)載自:blog.csdn.net/showhilllee/article/details/38398119/







今天嘗試用 Cocoapods安裝個(gè)第三方庫(kù).. 輸入pod install, 發(fā)現(xiàn) command not find。

估計(jì)是升級(jí)10.11后Cocoapods被干掉了。

我輸入 sudo gem install cocoa pods 之后,出現(xiàn)如下問題:

ERROR:? While executing gem ... (Gem::DependencyError)

Unable to resolve dependencies: cocoapods requires cocoapods-core (= 0.33.1), claide (~> 0.6.1), cocoapods-downloader (~> 0.6.1), cocoapods-plugins (~> 0.2.0), cocoapods-try (~> 0.3.0), cocoapods-trunk (~> 0.1.1), nap (~> 0.7)

解決方法:sudogem update --system

但是出現(xiàn)了另一個(gè)錯(cuò)誤:

ERROR:? While?executing?gem?...?(Errno::EPERM)

Operationnotpermitted?-?/usr/bin/xcodeproj

在Stackoverflow上找到了解決方法:

在終端中輸入:sudo?nvram?boot-args="rootless=0";?sudo?reboot

然后你的電腦會(huì)重啟

之后再輸入sudo?gem?install?cocoapods?-V

就可以了

不放心的話輸入

pod --version

0.37.2 //顯示出版本就說(shuō)明成功了

但是之后我pod install的時(shí)候又花式出錯(cuò)

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.Git` named `master`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

我嘗試按提示的方法

pod repo add master https://github.com/CocoaPods/Specs.git

然而還是有錯(cuò)..

[!] /usr/bin/git clone http://git.oschina.NET/akuandev/Specs.git master

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

最后的解決方法:

sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developers

后面的地址你可以打開Xcode顯示包內(nèi)容,找到那個(gè)文件夾拖到終端里面比較不容易錯(cuò)。

CocoaPods 0.38.0.beta.2 is available.

To update use: `gem install cocoapods --pre`

[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org

and the CHANGELOG for this version http://git.io/BaH8pQ.

CocoaPods 0.38.0.beta.2 is available.

To update use: `gem install cocoapods --pre`

[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org

and the CHANGELOG for this version http://git.io/BaH8pQ.

最后終于修成正果..

至于一開始輸入 sudo gem installcocoapods 沒反應(yīng)需要修改為淘寶鏡像的問題,請(qǐng)百度Cocoapods參閱其它文章..


轉(zhuǎn)載自:http://blog.csdn.net/NSNirvana/article/details/46873071





1.設(shè)置ruby的軟件源

這是因?yàn)閞uby的軟件源rubygems.org因?yàn)槭褂脕嗰R遜的云服務(wù),被我天朝屏蔽了,需要更新一下ruby的源,過(guò)程如下:

gem sources -l #(查看當(dāng)前ruby的源)

gem sources --remove https://rubygems.org/ #(移除當(dāng)前ruby的源)

gem sources -a https://ruby.taobao.org/ #(設(shè)置當(dāng)前ruby的源為我天朝的)

gem sources -l #(再次查看當(dāng)前ruby的源)

如果Terminal輸出:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

就證明ruby的軟件源已經(jīng)設(shè)置OK了。

2.設(shè)置gem為最新版本

如果gem太老,可以嘗試用如下命令升級(jí)gem:

在Terminal輸入以下命令:

sudo gem update --system

升級(jí)成功后會(huì)提示: Latest version currently installed. Aborting.

3.執(zhí)行安裝CocoaPods命令

注意:OS X 10.11 升級(jí),雖然官方聲稱只是一個(gè)小的升級(jí),但對(duì)于開發(fā)者而言,cocoapods需要重新安裝,但按照以前的安裝方式,在Terminal輸入以下命令:

sudo gem install? cocoapods

如果報(bào)以下錯(cuò)誤:

ERROR:? While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj

解決方案1:

執(zhí)行下面的命令并重啟

sudo nvram boot-args="rootless=0"

sudo reboot

重啟之后, 執(zhí)行這個(gè)命令檢查

sudo gem install cocoapods -V

如果依舊有錯(cuò)誤,使用第二個(gè)方案

解決方案2:

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

pod setup

還有一點(diǎn)需要注意,pod setup在執(zhí)行時(shí),會(huì)輸出Setting up CocoaPods master repo,但是會(huì)等待比較久的時(shí)間。這步其實(shí)是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久,可以試著 cd 到那個(gè)目錄,用du -sh *來(lái)查看下載進(jìn)度。

安裝成功后,你會(huì)看到:Setup completed

五、Cocoapods的使用

隨便以一種方式新建一個(gè)名為Podfile的文件放到你的工程根目錄下(不能寫成別的名字,也可以自己在工程根目錄里面直接新建)

Podfile文件內(nèi)容的格式應(yīng)該如下:

platform :ios, '8.0' #(注明你的開發(fā)平臺(tái)以及版本,'8.0'忽略不寫即為最新版本)

pod 'AFNetworking', '~> 2.5.3' #('~> 2.5.3'為版本號(hào),忽略不寫即為最新版本)

pod 'SDWebImage', '~> 3.7.2'

然后在Terminal進(jìn)入工程所在的根目錄(工程根目錄)中執(zhí)行 :

pod install

這樣,AFNetworking和SDWebImage就已經(jīng)下載完成并且設(shè)置好了編譯參數(shù)和依賴,以后使用的時(shí)候切記如下兩點(diǎn):

1.從此以后需要使用Cocoapods生成的 .xcworkspace文件來(lái)打開工程,而不是使用以前的.xcodeproj文件

2.每次更改了Podfile文件,都需要重新執(zhí)行一次pod update命令





添加:

錯(cuò)誤1:

Error fetchinghttp://ruby.taobao.org/:

bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

解決方案:把安裝流程中 $gem sources -ahttp://ruby.taobao.org/---改為---->$gem sources -ahttps://ruby.taobao.org/

錯(cuò)誤2:

ERROR:? While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

解決方案:蘋果系統(tǒng)升級(jí)OS X EL Capitan后會(huì)出現(xiàn)的插件錯(cuò)誤,將安裝流程 4.安裝CocoaPods 的 (1)sudo gem install cocoapods ——>改為sudo gem install -n /usr/local/bin cocoapods

錯(cuò)誤3:

[!] Unable to satisfy the following requirements: - `AVOSCloud (~> 3.1.6.3)` required by `Podfile`

Specs satisfying the `AVOSCloud (~> 3.1.6.3)` dependency were found, but they required a higher minimum deployment target.

解決方案:安裝流程:Podfile文件 中? platform:ios, ‘6.0’? 后邊的 6.0 是平臺(tái)版本號(hào) ,一定要加上



高德地圖開發(fā)平臺(tái)提供的流程:

1、設(shè)置 ruby 的軟件源。

由于默認(rèn)的 ruby 的軟件源(https://rubygems.org/)被墻阻攔導(dǎo)致 CocoaPods 安裝失敗,因此需要更新一下 ruby 的源。依次執(zhí)行如下命令:

gem sources -l #(查看當(dāng)前ruby的源)

gem sources --remove https://rubygems.org/ #(移除當(dāng)前ruby的源)

gem sources -a https://ruby.taobao.org/ #(設(shè)置當(dāng)前ruby源為淘寶源)

gem sources -l #(再次查看當(dāng)前ruby的源)

顯示如下文字表示更新成功。

*** CURRENT SOURCES ***

https://ruby.taobao.org/

2、升級(jí) gem。

gem 版本較低也可能導(dǎo)致安裝或者升級(jí)失敗,所以需要升級(jí) gem。使用以下命令:

sudo gem update --system

3、安裝 CocoaPods

檢查一下您的 OS X 的版本。

若您的 OS X 版本小于等于 10.11,依次執(zhí)行下面的命令安裝 CocoaPods。

sudo gem install cocoapods

pod setup

大于 10.11,使用如下命令安裝。

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

pod setup

注意:安裝過(guò)程可能會(huì)耗時(shí)比較長(zhǎng),也有可能受網(wǎng)絡(luò)狀況影響造成失敗,需要多次嘗試直到成功。

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

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

  • 第一次安裝CocoaPods也遇到了一些坑,但是 那個(gè)時(shí)候時(shí)間比較緊,沒有抽出時(shí)間整理,最近因?yàn)殡娔X還原從新做了系...
    幸福的尾巴__閱讀 8,627評(píng)論 7 9
  • iOS CocoaPods 的安裝流程 查看ruby$ gem sources -l 如果是taobao的源的話...
    此晨閱讀 381評(píng)論 2 0
  • 朋友之間的距離是多少才最美~
    井然有言閱讀 253評(píng)論 2 0
  • 親愛的寶貝: 現(xiàn)在你能認(rèn)識(shí)字了吧?哈,那你就可以拆開看看爸爸給你的這封信了,這可是爸爸對(duì)你說(shuō)的悄悄話哦。 今天中午...
    若溪小貓閱讀 264評(píng)論 0 1
  • 日精進(jìn)第122天,2017一06一20。 體驗(yàn)入:老板就是企業(yè)最大的品牌,也是最大的IP,比如我們都熟知的各大名牌...
    62ed6468bcde閱讀 198評(píng)論 0 0

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