Cocoapods安裝和使用
Cocoapods介紹
前言
對(duì)于iOS APP開發(fā)中偶器,幾乎都采用了Cocoapods來管理第三方庫媳瞪,所以掌握Cocoapods的使用對(duì)于iOS開發(fā)者是非常重要的。
Cocoapods 期犬?
簡單來說颜懊,Cocoapods就是專門為iOS工程提供對(duì)第三方庫依賴的管理工具财岔,我們可以通過Podfile文件方便的管理第三方庫,相對(duì)于手動(dòng)管理(手動(dòng)拖拽和刪除)第三方庫來說確實(shí)方便了很多河爹,節(jié)省時(shí)間去關(guān)心第三方庫的使用匠璧。
Cocoapods安裝
Cocoapods是使用ruby安裝的,MAC系統(tǒng)有一個(gè)默認(rèn)的ruby版本咸这,通過下面命令安裝
sudo gem install cocoapods
這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)安裝失敗夷恍,因?yàn)槟J(rèn)的cocoapods網(wǎng)址是國外的,國內(nèi)無法訪問(除非使用VPN)
國內(nèi)使用ruby安裝cocoapods的步驟:
* 打開終端程序
* 刪除默認(rèn)ruby:gem sources —remove https://rubygems.org/
* 添加淘寶ruby:gem source -a https://ruby.taobao.org/
* 查看是否添加成功:gem source -l
* 安裝:sudo gem install cocoapods
* 查看某個(gè)庫: pod search 類庫名 //支持模糊查詢(如:AFNetwork)
Cocoapods使用
cocoapods使用
cocoapods的使用主要是通過 Podfile文件來自動(dòng)管理第三方庫的
具體步驟
* 打開終端程序
* 進(jìn)入到要添加第三方庫的項(xiàng)目目錄
* 通過touch或者直接通過vi編輯器創(chuàng)建一個(gè)Podfile文件
* 添加需要使用的庫:
pod 'AFNetworking', '~>2.0' //可以指定版本
pod 'MBProgressHUD' //不指定版本默認(rèn)下載最新的
* 編輯完成媳维,點(diǎn)擊esc進(jìn)入到“最后一行”模式酿雪,輸入一個(gè)":",然后輸入 "wq",保存退出
* 然后在終端輸入`pod install` 進(jìn)行安裝
* 打開項(xiàng)目目錄下的xxx.xcworkspace文件
cocoapods刪除
* 刪除工程文件夾下的Podfile侄刽、Podfile.lock及Pods文件夾
* 刪除xcworkspace文件
* 使用xcodeproj文件打開工程指黎,刪除Frameworks組下的 Pods.xcconfig及l(fā)ibPods.a引用
* 在工程設(shè)置中的Build Phases下刪除Check Pods Manifest.lock及Copy Pods Resources(參考下圖)
podfile常用命令:
1、pod install
根據(jù)Podfile文件指定的內(nèi)容州丹,安裝依賴庫醋安,如果有Podfile.lock文件而且對(duì)應(yīng)的Podfile文件未被修改,則會(huì)根據(jù)Podfile.lock文件指定的版本安裝当叭。
每次更新了Podfile文件時(shí),都需要重新執(zhí)行該命令盖灸,以便重新安裝Pods依賴庫
2蚁鳖、pod update
若果Podfile中指定的依賴庫版本不是寫死的,當(dāng)對(duì)應(yīng)的依賴庫有了更新赁炎,無論有沒有Podfile.lock文件都會(huì)去獲取Podfile文件描述的允許獲取到的最新依賴庫版本醉箕。
3钾腺、pod search
查看某個(gè)庫: pod search 類庫名 //支持模糊查詢(如:AFNetwork)
4、pod setup
用于更新本地電腦上的保存的Pods依賴庫tree讥裤。由于每天有很多人會(huì)創(chuàng)建或者更新Pods依賴庫放棒,這條命令執(zhí)行的時(shí)候會(huì)相當(dāng)慢,還請(qǐng)耐心等待己英。我們需要經(jīng)常執(zhí)行這條命令间螟,否則有新的Pods依賴庫的時(shí)候執(zhí)行pod search命令是搜不出來的。
1
多個(gè)target中使用相同的Pods依賴庫
比如损肛,名稱為CocoaPodsTest的target和Second的target都需要使用Reachability厢破、SBJson、AFNetworking三個(gè)Pods依賴庫治拿,可以使用link_with關(guān)鍵字來實(shí)現(xiàn)摩泪,將Podfile寫成如下方式:
link_with ‘CocoaPodsTest’, ‘Second’
platform :ios
pod ‘Reachability’, ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0’
2
不同的target使用完全不同的Pods依賴庫
CocoaPodsTest這個(gè)target使用的是Reachability、SBJson劫谅、AFNetworking三個(gè)依賴庫见坑,但Second這個(gè)target只需要使用OpenUDID這一個(gè)依賴庫,這時(shí)可以使用target關(guān)鍵字捏检,Podfile的描述方式如下:
target :’CocoaPodsTest’ do
platform :ios
pod ‘Reachability’, ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0′
end
target :’Second’ do
pod ‘OpenUDID’, ‘~> 1.0.0’
end
以do/end 開始和結(jié)尾
5荞驴、Podfile中指定類庫版本的含義
pod ‘AFNetworking’ //不顯式指定依賴庫版本,表示每次都獲取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘> 2.0’ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>= 2.0’ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘< 2.0’ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<= 2.0’ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~> 0.1.2’ //使用大于等于0.1.2但小于0.2的版本
pod ‘AFNetworking’, ‘~>0.1’ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’ //高于0的版本未檩,寫這個(gè)限制和什么都不寫是一個(gè)效果戴尸,都表示使用最新版本
cocoapods升級(jí)
錯(cuò)誤處理:
當(dāng)你執(zhí)行 sudo gem update --system
命令的時(shí)候可能會(huì)報(bào)錯(cuò)
這時(shí)候需要你 先安裝homebrew,去官網(wǎng)復(fù)制命令:http://brew.sh
然后執(zhí)行命令 brew install ruby
安裝成功后重新執(zhí)行cocoapods安裝命令
參考:
1
http://www.exiatian.com/cocoapods安裝使用及配置私有庫/
2
http://www.cnblogs.com/brycezhang/p/3675670.html
3
http://mp.weixin.qq.com/s?__biz=MzIzMzA4NjA5Mw==&mid=214023058&idx=1&sn=02fcf03d8ceb6636489086ba3fc310cc&scene=18#rd