1.CocoaPods的安裝
首先要了解Gem,這是一個管理Ruby庫和程序的標準包,它通過Ruby Gem(如 http://rubygems.org/ )源來查找、安裝、升級和卸載軟件包,非常的便捷。
CocoaPods是以Ruby gem包的形式被安裝的,也就是說CocoaPods插件是由Ruby語言寫的庫文件,可以通過gem命令安裝CocoaPods。
1.1安裝步驟
1.更換Gem源
由于在國內訪問Gem默認的源下載更新都會異常的慢,換成國內的源會速度會快一些。
以前都是替換到 https://ruby.taobao.org/源,但是現在RubyGems
鏡像的管理工作以后由 Ruby China
負責了,因此使用https://gems.ruby-china.com/源。
// 移除默認的源
$ gem sources --remove https://rubygems.org/
// 添加國內的源
$ gem sources -a https://gems.ruby-china.com/
// 查看源
$ gem sources -l
https://gems.ruby-china.com
# 確保只有 gems.ruby-china.com
2.安裝CocoaPods
先卸載,再安裝
# 卸載操作
$ sudo gem uninstall cocoapods
# 安裝
$ sudo gem install cocoapods
或指定版本安裝:
gem install cocoapods -v 1.5.2
注意:在Mac OS X 10.11上安裝cocoapods會出現以下錯誤。
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: cocoapods requires cocoapods-core (= 1.2.0), cocoapods-downloader (< 2.0, >= 1.1.3), cocoapods-trunk (< 2.0, >= 1.1.2), molinillo (~> 0.5.5), xcodeproj (< 2.0, >= 1.4.1), colored (~> 1.2), escape (~> 0.0.4), fourflusher (~> 2.0.1), gh_inspector (~> 1.0), nap (~> 1.0), ruby-macho (~> 0.2.5); activesupport requires i18n (>= 0.6.9, ~> 0.6), tzinfo (~> 1.1), minitest (~> 5.1); cocoapods-plugins requires nap (>= 0)
這種情況下,使用 Homebrew 安裝 ruby,
# 先安裝 Homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 再安裝 ruby
$ brew install ruby
再執行以下命令更新 gem:
sudo gem install -n /usr/local/bin cocoapods
3.初始化CocoaPods。
目的是將網絡上的第三方框架下載到本地,緩存起來。
$ pod setup
注意:
1.如果速度比較慢,直接停止初始化(control + c),參照第4步操作。如果速度可以,則不需要第4步操作。
2.并不是每一個第三方框架都會被下載到本地,能否被下載到本地的前提是,該第三方框架需要支持CocoaPods。
3.檢驗第三方框架是否支持CocoaPods。3.1、可以在GitHub上查看框架的目錄中是否有
.podspec
文件,只要含有這個文件,就支持CocoaPods,就會被下載到本地。
3.2、在GitHub搜索cocoapods
,找到CocoaPods/Specs
,其目錄中的文件名稱就是支持CocoaPods的第三方框架。
3.3、登錄CocoaPods官網https://cocoapods.org/
,搜索框架是否支持。
4.更換鏡像服務器
如果第3步比較慢,所以要把第三方框架鏡像的源更換到國內的源,這樣會比較快一些。
// 移除master
$ pod repo remove master
// 添加國內鏡像
$ pod repo add master https://git.coding.net/CocoaPods/Specs.git
// 執行步驟4,初始化CocoaPods
$ pod setup
注意:
在執行移除master命令時,如果報錯 [!] repo master does not exist
,不用理會,直接執行第二條命令。
如果執行第二條命令時報錯:[!] To setup the master specs repo, please run pod setup
,此時放棄執行以上三條命令,通過以下方法解決。
參考官方(http://guides.cocoapods.org/terminal/commands.html#pod_setup) 對pod setup
命令的解釋,可以使用git命令,將 Specs.git
文件 clone 到 /Users/用戶名/.cocoapods/repos 目錄下,并把文件名改為master。
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
此時就解決了上述報錯的問題。
2.CocoaPods的使用
2.1、更新第三方庫信息
由于第三方框架是不斷更新的,所以要定時更新第三方庫
pod repo update
2.2、搜索第三方庫
能被搜索到的第三方庫,才可以使用CocoaPods管理
$ pod search 關鍵字
3.命令行使用CocoaPods
3.1、進入項目工程所在目錄
$ cd ~/項目文件夾
3.2、新建Podfile, 通過這個命令填寫需要的框架
$ vim Podfile //然后輸入i:進入編輯狀態
3.3、Podfile文件的格式
platform :ios, '8.0'
use_frameworks!
target 'project名字' do
pod '框架名字'
pod '框架名字', '~> 版本號'
end
按ESC
:退出編輯模式,再入:wq
:保存并退出。
注意:在Swift中,Podfile的第一句必須寫上
use_frameworks!
。
3.4、解析Podfile,安裝第三方框架
$ pod install
3.5、解析Podfile,升級第三方框架
$ pod update
注意,如果使用CocoaPods過程中出現了莫名其妙的問題,執行以下命令。
$ sudo gem update --system
$ sudo gem install cocoapods
$ pod setup
4.使用CocoaPods插件
- 2.解壓縮,打開
CocoaPods.xcworkspace
,運行。
此時插件就安裝好了。
- 3.重新打開Xcode,如下圖所示選擇
此時CocoaPods插件就可以使用了
- 4.填寫需要集成的框架名稱
填寫需要集成的框架
注意格式,參考 https://guides.cocoapods.org/using/the-podfile.html 。
-
5.安裝框架
集成框架
注意, 如果還是不能使用,請看以下的注意點。
5.使用第三方框架的注意點
在Swift中盡量不要手動拖拽第三方框架到項目中,因為swift具有命名空間的概念,這樣容易沖突。
在Swift中建議使用CocoaPods管理第三方框架,此時如果第三方框架是OC語言寫的,點擊查看頭文件,看到的代碼格式為swift格式。
如果在使用CocoaPods時報錯,點擊 target->Build Phases
,然后點擊左上角的+
按鈕,選擇New copy Files Phase
,在該頁面最下面,選擇FrameWork
,再點擊+
選擇Pods.Framework。
在Swift中,編輯Podfile文件時,要添加 use_frameworks! 這句話。
使用git提交代碼時,默認不會提交CocoaPods相關的內容,此時需要打開命令行,添加CocoaPods到git遠程倉庫。
$ git add .
$ git commit -m "添加第三方框架"
$ git push