一、CocoaPods的作用
??在iOS開發中勢必會用到一些第三方依賴庫,比如大家都熟悉的ASIHttpRequest、AFNetworking、JSONKit等。使用這些第三方類庫能極大的方便項目的開發,但是,集成這些依賴庫需要我們手動去配置,例如集成ASIHttpRequest庫時除了加入源碼以外還需要手動去添加一些系統的framework,CFNetwork、MobileCoreServices等,如果這些第三方庫發生了更新,還需要手動去更新項目。這就顯得非常麻煩。有麻煩自然有解決辦法,CocoaPods就是為了解決這個問題而生的。通過CocoaPods,我們可以將第三方的依賴庫統一管理起來,配置和更新只需要通過簡單的幾行命令即可完成,大大的提高了實際開發中的工作效率,使我們的主要精力集中到更重要的事情上去。
二、CocoaPods的安裝
1. 配置ruby環境
Mac打開終端,移除原有鏡像:$ gem sources -r https://rubygems.org/
安裝基于騰訊云的鏡像:$ gem sources -a https://gems.ruby-china.org/
查看鏡像:$ gem sources -l
,確保只有 gems.ruby-china.org
若上面鏡像被墻,請使用2019年最新國內鏡像:
gem source -a https://rubygems.org/
2.Mac上更新Ruby
安裝CocoaPods,需要Ruby版本在 2.2.2 以上,這里使用RVM對Ruby進行升級:
(1)安裝 RVM
RVM (Ruby Version Manager),即Ruby版本管理器,包括Ruby的版本管理和Gem庫管理。按照下面的命令安裝 RVM,需等待一段時間,務必保持網絡穩定:
$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
若提示-bash: /Users/Xiao/.bash_profile: No such file or directory找不到 .bash_profile 文件,直接在根目錄創建一個即可:
$ cd ~
$ touch .bash_profile
安裝成功后,可查看rvm版本:$ rvm -v
(2)用RVM升級Ruby
查看當前ruby版本:$ ruby -v
列出已知的ruby版本:$ rvm list known
安裝xcode command line:$ xcode-select --install
選擇要安裝的版本,如安裝ruby 2.4.0:$ rvm install 2.4.0
3. 安裝CocoaPods并更新gem
(1)$ sudo gem install -n /usr/local/bin cocoapods
(2)$ pod setup
(3)$ sudo gem update --system
安裝pod過程需等待一段時間,務必保持網絡穩定!安裝完成后,在終端輸入:$ pod
,若顯示下面的信息就表示CocoaPods安裝成功了。
輸入:$ pod --version
和 $ gem -v
,可查看 pod 和 gem 版本
三、CocoaPods的使用
1. 新建并編輯Podfile文件
在終端切換路徑到工程文件夾,輸入命令:$ touch Podfile
在工程目錄下新建Podfile文件,注意此文件無擴展名。
在工程文件夾中雙擊打開Podfile文件,編輯內容如下
注意文件中的ios要小寫,標點符號是英文格式,為避免手打寫錯格式,可在終端使用 $ pod search AFNetworking
命令搜索出這個第三方庫,復制系統的語句,按 q 鍵退出搜索界面。pod 'AFNetworking', '~> 3.1.0' 這種寫法表示使用3.1.0版本的庫,若不寫版本號表示使用當下最新版本。
2. 安裝所需的第三方庫
終端輸入命令:$ pod install
若被墻卡住,可嘗試命令: $ pod install --verbose --no-repo-update
若看到下面的內容信息,表示成功安裝好了Podfile文件里的第三方庫。
此時查看工程目錄多了4個東西,Pods文件夾存放你下載的第三方庫。以后打開工程不再是使用xcodeproj,而是使用xcworkspace。打開workspace工作空間,發現里面包含兩個xcodeproj工程文件,一個是本身的工程,一個是Pods管理第三方庫的工程。
3. 導入頭文件的相關配置
如果引入的第三方庫后找不到頭文件,在項目中Build Settings—>User Header Search Paths中添加:$(SRCROOT),右面值為recursive。(這一步驟只需要配置一次,以后再導入新的第三方庫都不需要配置了)
小結:
(1)Podfile文件控制CocoaPods該下載什么,文件名一定叫做Podfile且沒有后綴;
(2)切換到工程目錄,輸入命令:$pod update
,可更新所有配置好的第三方庫;
(3)若后續要添加新的第三方庫,則在Podfile文件,添加新的第三方庫代碼,如:$pod 'SDWebImage'
,然后在終端切換到工程目錄,輸入 $ pod update
即可。同理想要刪除某個第三方庫,只需在Podfile文件里把對應的第三方庫那行代碼刪除,然后在終端切換到工程目錄,執行 $ pod update
即可。
四、常見問題
Mac OS 10.11之后, cocoapods的一些命令需要進行變化。若遇到 pod setup 或pod update 出現問題,而且很難解決,建議直接卸載重裝:
- 卸載cocoapods:
$ sudo gem uninstall cocoapods
- 重裝cocoapods:
10.11之前:$ sudo gem install cocoapods
10.11之后:$ sudo gem install -n /usr/local/bin cocoa pods
常見報錯問題及解決方法參考鏈接:
http://www.lxweimin.com/p/6d8604f0b94c