一、概要
iOS開發(fā)時疫诽,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用來方便的統(tǒng)一管理這些第三方庫。
二、安裝
由于網上的教程基本都大同小異牵舱,但細節(jié)之處還不是很完善,所以借機會在這里補充下:
注:要使用CocoaPods缺虐,那就要下載安裝它芜壁,而下載安裝CocoaPods需要Ruby環(huán)境
1、Ruby環(huán)境搭建
當前安裝環(huán)境為Mac mini 10.8.5高氮。Mac ?OS本身自帶Ruby慧妄,但還是更新一下保險,因為我第一次安裝在沒有更新Ruby的情況下就失敗了剪芍。
a 查看下當前ruby版本:打開終端輸入 ruby -v(確實安裝了塞淹,不過用這個版本接下來工作失敗了,所以更新下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 ?(用來檢查使用替換鏡像位置成功)
再輸入
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 ?新建一個項目,名字PodTest
b? 終端中碾牌,cd到項目總目錄(注意:包含PodTest文件夾康愤、PodTest.xcodeproj、PodTestTest的那個總目錄)
c? 建立Podfile(配置文件)
?cd 到項目總目錄舶吗,輸入
vim Podfile
回車征冷;
輸入i,進入編輯模式裤翩,
回車资盅;
輸入
platform :ios, '8.0'
#use_frameworks!
target '項目名稱' do———————記得改名字
pod 'AFNetworking', '~> 3.0’
end
然后按Esc,并且輸入“:”號進入vim命令模式踊赠,然后在冒號后邊輸入wq
cd到項目總目錄pod install
轉載自:blog.csdn.net/showhilllee/article/details/38398119/
今天嘗試用 Cocoapods安裝個第三方庫.. 輸入pod install呵扛, 發(fā)現(xiàn) command not find。
估計是升級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)了另一個錯誤:
ERROR:? While?executing?gem?...?(Errno::EPERM)
Operationnotpermitted?-?/usr/bin/xcodeproj
在Stackoverflow上找到了解決方法:
在終端中輸入:sudo?nvram?boot-args="rootless=0";?sudo?reboot
然后你的電腦會重啟
之后再輸入sudo?gem?install?cocoapods?-V
就可以了
不放心的話輸入
pod --version
0.37.2 //顯示出版本就說明成功了
但是之后我pod install的時候又花式出錯
[!] 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
然而還是有錯..
[!] /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顯示包內容,找到那個文件夾拖到終端里面比較不容易錯伦籍。
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 沒反應需要修改為淘寶鏡像的問題蓝晒,請百度Cocoapods參閱其它文章..
轉載自:http://blog.csdn.net/NSNirvana/article/details/46873071
1.設置ruby的軟件源
這是因為ruby的軟件源rubygems.org因為使用亞馬遜的云服務腮出,被我天朝屏蔽了,需要更新一下ruby的源芝薇,過程如下:
gem sources -l #(查看當前ruby的源)
gem sources --remove https://rubygems.org/ #(移除當前ruby的源)
gem sources -a https://ruby.taobao.org/ #(設置當前ruby的源為我天朝的)
gem sources -l #(再次查看當前ruby的源)
如果Terminal輸出:
*** CURRENT SOURCES ***
https://ruby.taobao.org/
就證明ruby的軟件源已經設置OK了胚嘲。
2.設置gem為最新版本
如果gem太老,可以嘗試用如下命令升級gem:
在Terminal輸入以下命令:
sudo gem update --system
升級成功后會提示: Latest version currently installed. Aborting.
3.執(zhí)行安裝CocoaPods命令
注意:OS X 10.11 升級洛二,雖然官方聲稱只是一個小的升級馋劈,但對于開發(fā)者而言,cocoapods需要重新安裝晾嘶,但按照以前的安裝方式妓雾,在Terminal輸入以下命令:
sudo gem install? cocoapods
如果報以下錯誤:
ERROR:? While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解決方案1:
執(zhí)行下面的命令并重啟
sudo nvram boot-args="rootless=0"
sudo reboot
重啟之后, 執(zhí)行這個命令檢查
sudo gem install cocoapods -V
如果依舊有錯誤,使用第二個方案
解決方案2:
sudo gem install -n /usr/local/bin cocoapods
pod setup
還有一點需要注意垒迂,pod setup在執(zhí)行時械姻,會輸出Setting up CocoaPods master repo,但是會等待比較久的時間机断。這步其實是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下楷拳,如果你等太久,可以試著 cd 到那個目錄毫缆,用du -sh *來查看下載進度唯竹。
安裝成功后,你會看到:Setup completed
五乐导、Cocoapods的使用
隨便以一種方式新建一個名為Podfile的文件放到你的工程根目錄下(不能寫成別的名字苦丁,也可以自己在工程根目錄里面直接新建)
Podfile文件內容的格式應該如下:
platform :ios, '8.0' #(注明你的開發(fā)平臺以及版本,'8.0'忽略不寫即為最新版本)
pod 'AFNetworking', '~> 2.5.3' #('~> 2.5.3'為版本號物臂,忽略不寫即為最新版本)
pod 'SDWebImage', '~> 3.7.2'
然后在Terminal進入工程所在的根目錄(工程根目錄)中執(zhí)行 :
pod install
這樣旺拉,AFNetworking和SDWebImage就已經下載完成并且設置好了編譯參數(shù)和依賴,以后使用的時候切記如下兩點:
1.從此以后需要使用Cocoapods生成的 .xcworkspace文件來打開工程棵磷,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件蛾狗,都需要重新執(zhí)行一次pod update命令
添加:
錯誤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/
錯誤2:
ERROR:? While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解決方案:蘋果系統(tǒng)升級OS X EL Capitan后會出現(xiàn)的插件錯誤,將安裝流程 4.安裝CocoaPods 的 (1)sudo gem install cocoapods ——>改為sudo gem install -n /usr/local/bin cocoapods
錯誤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 是平臺版本號 仪媒,一定要加上
高德地圖開發(fā)平臺提供的流程:
1沉桌、設置 ruby 的軟件源。
由于默認的 ruby 的軟件源(https://rubygems.org/)被墻阻攔導致 CocoaPods 安裝失敗算吩,因此需要更新一下 ruby 的源留凭。依次執(zhí)行如下命令:
gem sources -l #(查看當前ruby的源)
gem sources --remove https://rubygems.org/ #(移除當前ruby的源)
gem sources -a https://ruby.taobao.org/ #(設置當前ruby源為淘寶源)
gem sources -l #(再次查看當前ruby的源)
顯示如下文字表示更新成功。
*** CURRENT SOURCES ***
https://ruby.taobao.org/
2偎巢、升級 gem蔼夜。
gem 版本較低也可能導致安裝或者升級失敗,所以需要升級 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
注意:安裝過程可能會耗時比較長韭山,也有可能受網絡狀況影響造成失敗似谁,需要多次嘗試直到成功。