一.CocoaPods是什么?
? ? CocoaPods是一個用ruby編寫,負責管理iOS項目中第三方開源庫的工具。CocoaPods節省設置和更新第三方開源庫的時間。
二.CocoaPods的下載及安裝
1、升級ruby環境
? ? ? ? ruby -v? 查看當前ruby版本
? Ruby版本過低時,需對Ruby進行升級。升級過程如下:
(1)安裝RVM
RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫管理
$?curl?-Lget.rvm.io|?bash?-s?stable
等待一段時間后就可以成功安裝好 RVM。
$?source?~/.bashrc??
$?source?~/.bash_profile ?
測試是否安裝正常 ??rvm?-v
(2)用RVM升級Ruby
#查看當前ruby版本
$ ruby -v
#列出已知的ruby版本
$ rvm list known
#安裝ruby 2.4.1
$ rvm install 2.4.1
安裝完成之后ruby -v查看是否安裝成功。
2、更新ruby鏡像
終端輸入如下命令(把Ruby鏡像指向ruby-china,避免被墻)
$ gem sources --remove?https://rubygems.org/?
$ gem sources -a? https://gems.ruby-china.org
$ gem sources -l??(用來檢查使用替換鏡像位置成功)
3、下載安裝CocoaPods
$ sudo?gem?install?cocoa pods ?如果一切正常,你應該能看到一段安裝進度
如果出現這個
說明沒有權限,需要輸入:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$ sudo gem install -n /usr/local/bin cocoapods
安裝成功如下:
在終端中輸入:pod search AFNetworking
執行后可能會一直停在 Setting up CocoaPods master repo,然后(很久)會出現如下錯誤:
這說明CocoaPods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入:
???$ pod setup ? 安裝本地庫
過一段時間之后,你會在終端中看到跟上面同樣的紅色的錯誤信息。
這說明某些環境原因導致pod更新不了,可能原因有,1)gem版本太低;2)github無法鏈接;3).cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除,
1)首先更新gem到最新版本,在終端中輸入:
$?sudo?gem?update?--system? ?// 第一步已做過
2)然后檢查是否可以ping通github,在終端中輸入:
$?ping?github.com
或 $ ping -c 10 github.com 制定送出的數據包數目?
或 ctrl+c停止發送 ?ctrl+z暫停
3)然后查看pod repo list:
$?pod?repo?list
cd ~/.cocoapods,進入cocoapods文件后在終端輸入:du -sh *,查看文件大小,結果顯示0 repos,說明沒有安裝成功;
重新執行pod setup,過一段時間后提示setup completed。在終端中輸入 pod list,展示出安裝列表;
速度較快的方式:pod install --verbose --no-repo-update
這樣總算安裝好了。接下來再一次輸入:
pod search AFNetworking
輸入過后它可能會報:
[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`
解決方案是:
輸入:rm ~/Library/Caches/CocoaPods/search_index.json
后在一次輸入:pod search AFNetworking就可以咯。
4、CocoaPods的使用
首先來到你的項目文件:? ? ? ?cd 項目文件的位置
然后,添加一個Podfile文件:vim Podfile
然后按 i?進入插入模式,進行編輯,在文件中輸入以下內容:
輸入完成后按ESC退出編輯模式,最后輸入:wq保存并退出文件。此時可以發現在項目目錄下多了一個Podfile的文件,請注意這個文件必須與.xcodeproj在同一目錄下。
最后:pod install? / pod install --verbose --no-repo-update
強調一點:Podfile文件的編輯,務必使用vim,防止編碼問題導致無法下載。
其他錯誤:?
(1)出現如下警告
[!] Your Podfile has had smart quotessanitised. To avoid issues in the future, you should not use TextEdit forediting it. If you are not using TextEdit, you should turn off smart quotes inyour editor of choice.
解決辦法:不要使用文本編輯去編輯Podfile,使用Xcode編輯,或者使用終端敲命令去編輯。
(2) 執行pod install 或pod update 命令后,updating local specsrepositories 卡住不動
解決辦法:pod install 被墻了,換成新的命令pod install --verbose --no-repo-update
(3) 項目運行時報錯:Thefile “Pods.xcconfig” couldn’t be opened because there is no such file.
解決辦法:pod update就可以了。
三、注意項
使用CocoaPods還需要注意以下幾點:
1. 需要使用CocoaPods生成的 .xcworkspace 文件來打開工程,而不是以前的 .xcodeproj 文件。
2. 每次更改了Podfile文件,你需要重新執行一次pod update命令。
3. 當你執行pod install之后,除了Podfile外,CocoaPods還會生成一個名為Podfile.lock的文件,你應該把這個文件加入到版本管理中。因為Podfile.lock會鎖定當前各依賴庫的版本,之后如果多次執行pod install?不會更改版本,要pod update才會改Podfile.lock了。這樣的好處是:當多人協作的時候,可以保證所有人的第三庫環境是完全一樣的。