1、了解Cocoapods
CocoaPods是iOS項目的依賴管理工具,該項目源碼在Github上管理(github.com/CocoaPods/Specs),一般我們iOS項目都要使用第三方開源庫,CocoaPods能節省很多設置和第三方開源庫的時間。CocoaPods的原理是將所有的依賴庫都放到另一個名為Pods的項目中,然后讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中。
2、CocoaPods的安裝
CocoaPods可以方便地通過Mac自帶的RubyGems安裝。但是,由于本人電腦比較老(2010年中的),Mac系統又升級到了最新的,這樣的話一般需要升級下ruby才能使接下來的步驟不報錯,打開命令行工具輸入curl -L get.rvm.io | bash -s stable 等待一段時間后就可以成功安裝好 RVM,測試下是否安裝正常rvm -v 然后用RVM升級Ruby,先查看下當前ruby版本 ruby -v 列出已知的ruby版本 rvm list known
安裝新的ruby rvm install 2.3.3(這里需要說明下為什么不安裝最新的2.4.0版本,因為安裝2.4.0版本時間很長,而且這個網速使翻墻網速,就算你家里寬帶再高也是沒用的,而2.3.3版本不是很大,也是能用的,可用節省很多時間),安裝完成之后ruby -v查看是否安裝成功。
接下來需要更新下ruby的源(這是因為ruby原始軟件源rubygems.org因為使用亞馬遜的云服務,被我國屏蔽了),過程如下:
$ gem sources -l (查看當前ruby的源)
$ gem sources --remove?https://rubygems.org/
$ gem sources -a https://gems.ruby-china.org/(之前的https://ruby.taobao.org/淘寶源沒有更新不能用了)
$ gem sources -l (查看是否替換成功)
如果gem太老,可以嘗試用如下命令升級gem
$ sudo gem update --system
升級成功后會提示: RubyGems system software updated
然后重新執行安裝下載命令 sudo gem install cocoapods 這時候應該沒什么問題了
接下來進行安裝,執行: pod setup? 會停留在 Setting up CocoaPods master repo 這個狀態一段時間,是因為要進行下載安裝,而且目錄比較大,需要耐心等待一下.如果想加快速度,可使用cocoapods的鏡像索引(但是現在gitcafe上的鏡像https://gitcafe.com/akuandev/Specs.git 地址不對了,所以還是老老實實等著吧),當出現Setup completed 時說明已經完成了。
3、CocoaPods的使用
cd進入工程所在的目錄,執行pod init 這個時候會自動生成Podfile文件,格式內容如下
# Uncomment the next line to define a global platform for your project (這個是注釋)
platform :ios, '8.0' ?(運行最低版本號)
target 'CocoaPodsTestDemo' do (執行程序名,默認加載)
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
use_frameworks! (是否執行動態庫,默認是關閉的,上面的注釋是解釋這個的)
pod ‘AFNetworking’, ‘~>3.1.0’ (指定加載三方庫版本)
pod ‘SDWebImage’ (不指定則默認加載最新版本)
pod ‘MJRefresh’ (還可以用pod search MJRefresh 搜索出所有版本)
# Pods for CocoaPodsTestDemo
end
寫上需要的第三方庫后保存執行命令pod install (首次最后執行這個),這樣就默認下載完成并且設置好了編譯參數和依賴,以后使用的時候注意兩點:,
1.以后需要使用Cocoapods生成的.xcworkspace文件來打開工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新執行一次pod update命令
當執行pod install之后,除了Podfile,還會生成一個名為Podfile.lock的文件,它會鎖定當前各依賴庫的版本,之后即使多次執行pod install也不會更改版本,只有執行pod update才會改變Podfile.lock.在多人協作的時候,這樣可以防止第三方庫升級時候造成大家各自的第三方庫版本不一致。所以在提交版本的時候不能把它落下,也不要添加到.gitignore中.
4、CocoaPods的使用中的問題
網上有很多這樣那樣的問題,可以直接把報錯粘貼在百度上查找,基本可以解決,這里就不多說了。