CocoaPods官網(wǎng)
Homebrew官網(wǎng)
一、全新安裝前,先檢查是否有安裝殘留(刪除CocoaPods)
- 如果之前裝過(guò)cocopods洪规,最好先卸載掉,卸載命令:
sudo gem uninstall cocoapods
- 先查看本地安裝過(guò)的cocopods相關(guān)東西幼衰,命令如下:
gem list --local | grep cocoapods
會(huì)顯示如下:
cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2)
cocoapods-trunk (0.6.4)
cocoapods-try (0.5.1)
然后逐個(gè)刪除吧:
//示例
sudo gem uninstall cocoapods-core
如果提示沒(méi)有權(quán)限 sudo gem install cocoapods -n /usr/local/bin
二石洗、使用Homebrew安裝CocoaPods(無(wú)需翻墻)
- 安裝安裝 Homebrew
特別提示官方的無(wú)法連接安裝,可以使用下面的進(jìn)行使用
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
出現(xiàn)Installation successful!
提示安裝成功题诵!
- 接著安裝ruby洁仗,繼續(xù)在終端中進(jìn)行
brew install ruby
安裝完成后替換一下ruby源
- 查看ruby源
gem sources -l
*** CURRENT SOURCES ***
https://rubygems.org/
- 替換ruby源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
- 查看是否替換成功
gem sources -l
如果出現(xiàn)的是https://gems.ruby-china.com/
證明替換成功。
- 安裝CocoaPods
執(zhí)行下面一句
sudo gem install -n /usr/local/bin cocoapods
然后
pod setup
最后等待安裝完成就好了性锭!期間如果遇到問(wèn)題請(qǐng)大家自行百度赠潦。
三、Podfile 講解
# 下面兩行是指明依賴庫(kù)的來(lái)源地址
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/Artsy/Specs.git'
# 說(shuō)明平臺(tái)是ios草冈,版本是9.0
platform :ios, '9.0'
# 忽略引入庫(kù)的所有警告(強(qiáng)迫癥者的福音八隆)
inhibit_all_warnings!
# 針對(duì)MyApp target引入AFNetworking
# 針對(duì)MyAppTests target引入OCMock,
target 'MyApp' do
pod 'AFNetworking', '~> 3.0'
target 'MyAppTests' do
inherit! :search_paths
pod 'OCMock', '~> 2.0.1'
end
end
# 這個(gè)是cocoapods的一些配置,官網(wǎng)并沒(méi)有太詳細(xì)的說(shuō)明,一般采取默認(rèn)就好了,也就是不寫.
post_install do |installer|
installer.pods_project.targets.each do |target|
puts target.name
end
end
詳細(xì)看這里: 你真的會(huì)寫Podfile嗎?
四怎棱、使用中遇到的問(wèn)題
- Cocoapods更新不到最新的第三方庫(kù)的問(wèn)題
情況一:
打開(kāi)終端哩俭,查看一下cocoapods的版本號(hào):pod --version
如果不是最新版本,升級(jí)一下cocoapods版本:sudo gem install -n /usr/local/bin cocoapods --pre
但是有時(shí)候cocoapods升到最新版本后我cd到工程文件下pod install,發(fā)現(xiàn)還是沒(méi)有更新最新的庫(kù)拳恋。這時(shí)候需要更新本地Pod的索引文件:pod setup或pod repo update
此時(shí)在pod install或pod update凡资,A庫(kù)應(yīng)該就是最新的了。
情況二:
可能是別的庫(kù)鎖定了這個(gè)庫(kù)的版本谬运,也就是第三方庫(kù)里用了第三方庫(kù)并把它的版本給鎖定了隙赁。
更詳細(xì)看這里,都是杯具:
http://www.reibang.com/p/a4c131491608
更新索引庫(kù)或者指定第三方
pod update 第三方名字
例如:
pod update AFNetworking
四梆暖、GIT提交時(shí)忽略Pods文件
- 如果Pods已經(jīng)提交過(guò)或緩存過(guò)請(qǐng)執(zhí)行以下步驟(沒(méi)有就忽略此步)驟:
cd 到項(xiàng)目目錄
git rm -r --cached .
git add .
git commit -m "忽略Pods"
- 在GitHub上創(chuàng)建項(xiàng)目時(shí)選擇對(duì)應(yīng)的語(yǔ)言會(huì)生成
.gitignore
文件,默認(rèn)是隱藏的伞访,打開(kāi)此文件.
找到Pods/ 默認(rèn)是注釋掉的, 去掉前面的#即可, 這樣在pod框架下得文件就不會(huì)再納入管理. 在其他開(kāi)發(fā)人員使用時(shí), 克隆代碼后只需要做一下 pod install即可.(注意:pod update 是不可以的)
在此使用pod install而不是pod update原因如下:
pod install執(zhí)行時(shí)如果有Podfile.lock文件,則三方庫(kù)會(huì)根據(jù)lock文件記錄的版本更新為最新版本
pod update 不管是否有Podfile.lock文件轰驳,都會(huì)將在(Podfile中引入時(shí)未寫版本的第三方庫(kù))更新為網(wǎng)絡(luò)上最新的版本咐扭,會(huì)造成庫(kù)找不到的問(wèn)題