目錄
一:CocoaPods 的安裝
1实牡、更換 Gem 的源
2陌僵、更新升級(jí) Gem 版本
3、安裝CocoaPods
4创坞、更換repo鏡像為國(guó)內(nèi)服務(wù)器
二:CocoaPods的使用
1碗短、新建 Podfile 文件
2、編輯 Podfile 文件
3题涨、執(zhí)行導(dǎo)入命令
4偎谁、第三方庫(kù)更新
三:各種問題
安裝基本流程
1.先升級(jí)Gem
gem update --system
2.切換cocoapods的數(shù)據(jù)源
2.1 刪除老的源(地址在國(guó)外总滩,比較卡)
gem sources --remove https://rubygems.org/
2.2 新增國(guó)內(nèi)源
gem sources -a https://gems.ruby-china.org/
2.3 查看當(dāng)前源
gem sources -l
3.安裝cocoapods
gem install cocoapods
4.將Podspec文件托管地址從github切換到國(guó)內(nèi)的oschina
4.1 先刪除老的數(shù)據(jù)
pod repo remove master
4.2 換成國(guó)內(nèi)鏡像
pod repo add master https://git.coding.net/CocoaPods/Specs.git
4.3 更新鏡像
pod repo update
5.設(shè)置pod倉(cāng)庫(kù)
pod setup
6.測(cè)試 【如果有版本號(hào),則說明已經(jīng)安裝成功】
pod --version
7.利用cocoapods來安裝第三方框架
7.1 進(jìn)入要安裝框架的項(xiàng)目的.xcodeproj同級(jí)文件夾
7.2 在該文件夾中新建一個(gè)文件Podfile
7.3 在文件中告訴cocoapods需要安裝的框架信息
7.3.1 該框架支持的平臺(tái)
7.3.2 適用的iOS版本
7.3.3 框架的名稱
7.3.4 框架的版本
8.安裝
pod install --no-repo-update
pod update --no-repo-update
一:CocoaPods安裝
CocoaPods是用Ruby實(shí)現(xiàn)的搭盾,要想使用它首先需要有Ruby的環(huán)境咳秉。幸運(yùn)的是OS X系統(tǒng)默認(rèn)的已經(jīng)可以運(yùn)行Ruby了,因此我們只需要執(zhí)行以下命令鸯隅。
1: 更換Gem源
Gem是一個(gè)管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包澜建,它通過Ruby Gem(如 http://rubygems.org/ )源來查找、安裝蝌以、升級(jí)和卸載軟件包
// 1.移除掉原有的源(服務(wù)器在國(guó)外炕舵,速度較慢)
- gem sources --remove https://rubygems.org/
// 2.等有反應(yīng)之后再敲入以下命令(淘寶源已經(jīng)停止維護(hù)了,現(xiàn)在是https://gems.ruby-china.org/)
- gem sources -a https://gems.ruby-china.org/
// 3.驗(yàn)證是否替換成功
- gem sources -l
2: 更新Gem版本
Gem是管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包跟畅,如果它的版本過低也可能導(dǎo)致安裝失敗咽筋,解決方案自然是升級(jí)Gem,執(zhí)行下述命令即可:
// 更新升級(jí)gem
- gem update --system
3: 安裝Cocoapods
// 安裝CocoaPods(OS X 10.11以前,包含10.11)
- gem install cocoapods // 默認(rèn)安裝最新版本
- gem install cocoapods -v 1.0.0 // 安裝指定1.0.0版本
// 安裝CocoaPods(10.11后蘋果升級(jí)了安全策略)
- gem install -n /usr/local/bin cocoapods
4: 更換repo鏡像
所有的項(xiàng)目的Podspec文件都托管在https://github.com/CocoaPods/Specs徊件。 第一次執(zhí)行
pod setup
時(shí)奸攻,CocoaPods會(huì)將這些podspec索引文件更新到本地的~/.cocoapods/
目錄下,這個(gè)索引文件比較大虱痕,所以第一次更新時(shí)非常慢睹耐。而且很大幾率失敗,反正我是沒有成功過部翘,掛了vpn也不行硝训。
后來就出現(xiàn)了國(guó)內(nèi)鏡像,這里推薦git coding上的https://git.coding.net/CocoaPods/Specs.git 貌似這個(gè)鏡像也是cocoapods官方維護(hù)的新思。
// 1.移除原有服務(wù)器
- pod repo remove master
// 2.添加境內(nèi)服務(wù)器(建議使用第二種方法)
- pod repo add master https://git.coding.net/CocoaPods/Specs.git
- git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
// 3.更新鏡像(這一步不要忘了)
- pod repo update
5: 設(shè)置Pod倉(cāng)庫(kù)
// 設(shè)置pod 倉(cāng)庫(kù)
- pod setup
6: 測(cè)試
通過search命令或者查看version夹囚,可以判斷是否安裝成功
// 查看版本
- pod --version
// 查詢庫(kù)
- pod search JWTrace
二:CocoaPods使用
1: 新增Podfile文件
使用時(shí)需要在你的項(xiàng)目根目錄下新建一個(gè)名為Podfile的文件纵刘,將依賴的庫(kù)名字依次列在文件中即可
// 控制臺(tái),cd進(jìn)入項(xiàng)目根目錄
cd /Users/wangjun/Desktop/WorkSpace/CocoapodsDemo
// 新增Podfile文件
vim Podfile
2: 導(dǎo)入庫(kù)
導(dǎo)入完成之后荸哟,打開xxx.xcworkspace彰导,啟動(dòng)項(xiàng)目
// 導(dǎo)入庫(kù)
pod install
三:?jiǎn)栴}
升級(jí)、安裝過程中敲茄,會(huì)遇到很多問題位谋,這了列舉一些我碰到的。
1: pod setup時(shí)異常
Setting up CocoaPods master repo
[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Setting up CocoaPods master repo
[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -9806
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
這三種問題堰燎,都是因?yàn)閞epo鏡像done不下來導(dǎo)致的掏父。
執(zhí)行CocoaPods安裝
中的第4步
即可
2: Size問題
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
這個(gè)是用于在執(zhí)行pod setup命令的時(shí)候,里面會(huì)執(zhí)行從github上面clone資源到本地的語句,但是要clone的東西太大了,超過的git限制的大小.嘗試執(zhí)行以下語句把默認(rèn)的限制變大:(52428000=500×1024×1024,即500M)
// 配置
git config http.postBuffer 524288000
四:更多
1: pod install
提速
每次執(zhí)行
pod install
和pod update
的時(shí)候,cocoapods都會(huì)默認(rèn)更新一次spec倉(cāng)庫(kù)秆剪。這是一個(gè)比較耗時(shí)的操作赊淑。在確認(rèn)spec版本庫(kù)不需要更新時(shí)爵政,給這兩個(gè)命令加一個(gè)參數(shù)跳過spec版本庫(kù)更新,可以明顯提高這兩個(gè)命令的執(zhí)行速度。
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
2: 導(dǎo)入庫(kù)時(shí)陶缺,版本選擇
#pod ‘AFNetworking’ //不顯式指定依賴庫(kù)版本钾挟,表示每次都獲取最新版本
#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的版本,相當(dāng)于>=0.1.2并且<0.2.0
#pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
#pod ‘AFNetworking’, ‘~>0′ //高于0的版本饱岸,寫這個(gè)限制和什么都不寫是一個(gè)效果掺出,都表示使用最新版本
3: 一些其他命令
// 忽略第三方庫(kù)的警告
inhibit_all_warnings!
// OC中引入Swifty庫(kù)
use_frameworks!