配置Ruby環(huán)境
- 查看當(dāng)前
ruby環(huán)境
gem sources -l
- 如果當(dāng)前環(huán)境為
https://rubygems.org/,則先刪除該環(huán)境,執(zhí)行
gem sources --remove https://rubygems.org/
添加國內(nèi)源,執(zhí)行
gem source -a https://gems.ruby-china.org (推薦使用)
gem sources -a https://ruby.taobao.org/ (淘寶源不維護(hù)了,不建議使用)
- 再次查看環(huán)境
gem sources -l,顯示為https://ruby.taobao.org/,則接下來就可以開始安裝CocoaPods。
安裝CocoaPods
- 安裝
CocoaPods,執(zhí)行
sudo gem install cocoapods
- 如果出現(xiàn)
ERROR: Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.
說明 ruby環(huán)境 需要升級到2.2.2版本以上,而目前使用的 ruby版本是mac系統(tǒng)自帶的1.8.7,所以需要對 ruby升級??蓤?zhí)行
brew install ruby
對ruby升級,但前提要先安裝HomeBrew
安裝 HomeBrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
詳情可看這里HomeBrew。
- Ruby 升級后,再次執(zhí)行
sudo gem install cocoa pods以及pod setup
注:
pod setup的作用:將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下。即使在安裝時不執(zhí)行此命令,在初次執(zhí)行pod install命令時,系統(tǒng)也會自動執(zhí)行pod setup。
我們需要把這個Podspec文件保存到本地,這樣才能讓我們使用命令pod search 開源庫搜索一個開源庫,怎樣才能把github上的Podspec文件保存本地呢?那就是pod setup
并且在執(zhí)行pod setup命令時,會出現(xiàn):
Setting up CocoaPods master repo
說明Cocoapods在將它的信息下載到 ~/.cocoapods里
可 cd ~/.cocoapods
使用 du -sh * 來每隔幾分鐘查看文件大小。該文件很大,并且以后會越來越大,耐心等待。

- 安裝完成執(zhí)行
pod --version查詢是否安裝成功,install成功會顯示pod的版本。 -
CocoaPods如果需要更新,可執(zhí)行sudo gem update cocoa pods,更新至最新版本。iOS 10.11 升級CocoaPods會出現(xiàn)問題,詳細(xì)解答可參考解決OS X 10.11之后CocoaPods的升級問題中的方案。
使用CocoaPods導(dǎo)入第三方庫
- 搜索第三方庫,以SDWebImage為例,該第三方庫需要支持
CocoaPods。
pod search SDWebImage ,搜索結(jié)果為SDWebImage的版本信息。
cd 項(xiàng)目目錄
touch Podfile / pod init 創(chuàng)建一個 Podfile 文件
打開 Podfile ,編輯內(nèi)容。
注:使用Xcode打開,或者在終端使用vim編輯Podfile,否則會報一下錯誤:
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
Podfile 內(nèi)容:
platform :ios, ‘8.0’ 指定開源庫被編譯在哪個平臺以及平臺的最低版本
inhibit_all_warnings! 屏蔽cocoapods庫里面的所有警告
xcodeproj 'TestProject' xcodeproj,現(xiàn)在被project代替,這個變量就別使用了
workspace 'TestProject' 指定應(yīng)該包含所有projects的Xcode workspace.
use_frameworks! 使用frameworks動態(tài)庫替換靜態(tài)庫鏈接
target 'TestProject' do 指定特定Target的依賴庫
pod 'AFNetworking'
pod 'SDWebImage'
pod 'MJRefresh'
end
Podfile編輯完成后,執(zhí)行pod install加載第三方庫。
注:無論是執(zhí)行
pod install還是pod update, 如果都卡在了Analyzing dependencies不動, 原因在于當(dāng)執(zhí)行以上兩個命令的時候會升級CocoaPods的spec倉庫, 加一個參數(shù)可以省略這一步, 命令如下:
pod install --verbose --no-repo-update
或
pod update --verbose --no-repo-update