cocoapods安裝遇到的問題及解決方法

這一篇是用Markdown 寫的,梳理了一下排版。以前的文章改不成Markdown了。湊活吧,真扯淡,得水,走,去拉水去。

錯(cuò)誤基本 cocoapods 升級(jí)版本到 1.0.0 所造成的

錯(cuò)誤 1、

當(dāng)寫在 Podfile 文件中的第三方框架,不能使用,找不到時(shí)
查看 Pods 文件夾,是否下載了所需要的第三方框架,沒有的話就 pod update

錯(cuò)誤 2、

Could not automatically select an Xcode project. Specify one in your Podfile like so:xcodeproj 'path/to/Project.xcodeproj
在 Podfile 文件里指定下工程目錄就行了

xcodeproj 'Demo/Demo.xcodeproj

但是如果 cocoapods 版本為(1.0.0)的話,可能會(huì)有以下警告

[!] xcodeproj was renamed to `project`. Please use that from now on.

這時(shí)只需要把 xcodeproj 改為 project 就行了

project 'Demo/Demo.project'

錯(cuò)誤 3、

The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.

在 Podfile 中添加

target‘項(xiàng)目名'do (如 target'Demo' do)

錯(cuò)誤 4、

[!] InvalidPodfilefile: syntax error, unexpected end-of-input, expecting keyword_end.

在 Podfile 的末尾添加 end

錯(cuò)誤 5、

Unable to find the Xcode project `/Volumes/BIAO/iOS/code/MBWB.xcodeproj` for the target `Pods`.

在 Podfile 中 將 project 'Demo/Demo.project’ 改成 project'Demo.project'

錯(cuò)誤 6、

build diff: /../Podfile.lock: No such file or directory

在工程設(shè)置中的 Build Phases 下刪除 Check Pods Manifest.lock 及 Copy Pods Resources

錯(cuò)誤 7、

還有一個(gè)更新慢的問題:無論是執(zhí)行pod install還是pod update都卡在了Analyzing dependencies不動(dòng)

原因在于當(dāng)執(zhí)行以上兩個(gè)命令的時(shí)候會(huì)升級(jí) CocoaPods 的 spec 倉庫,加一個(gè)參數(shù)可以省略這一步,然后速度就會(huì)提升不少。加參數(shù)的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

現(xiàn)在的cocoapods與之前比較,有很多不一樣的地方。

因?yàn)楝F(xiàn)在cocoapods需要ruby>=2.2,所以:

1.首先查看ruby是否是最新版的。

查看當(dāng)前ruby版本ruby是通過rvm安裝的所以需要先安裝rvm后查看ruby是否是最新的(通過查看ruby版本列表來判斷),然后在終端需要中輸入以下命令:

輸入-- ruby -v

大概輸出-- ruby 2.0.0

(1)安裝RVM.RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫管理(gemset)

curl -L get.rvm.io | bash -s stable```

![](http://upload-images.jianshu.io/upload_images/1761100-9766e578269ec49a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)安裝rvm

等待一段時(shí)間后就可以成功安裝好 RVM

source ~/.bashrc
source ~/.bash_profile```

測(cè)試是否安裝正常

rvm -v```

![](http://upload-images.jianshu.io/upload_images/1761100-00020291e1940b59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)rvm安裝完成

#####(2)用RVM升級(jí)Ruby
查看當(dāng)前ruby版本ruby是通過rvm安裝的所以需要先安裝rvm后查看ruby是否是最新的(通過查看ruby版本列表來判斷),然后在終端需要中輸入以下命令:

ruby -v
ruby 2.3.0```

列出已知的ruby版本 --找到最新的版本安裝

rvm list known

安裝ruby 2.3.0 這個(gè)你隨意只要大于2.2就行

rvm install 2.3.0

注意:有時(shí)會(huì)出現(xiàn)錯(cuò)誤 提示
Requirements installation failed with status: 1.
****原因:因Mac未安裝Homebrew造成的****
解決方法:在命令行輸入以下指令安裝Homebrew或者進(jìn)入官網(wǎng)找到最新的下載鏈接
Homebrew官網(wǎng):http://brew.sh/index_zh-cn.html 或者
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

**注意2 有時(shí)WARNING: You have '~/.profile' file, you might want to load it,錯(cuò)誤,可嘗試命令行輸入
echo"source ~/.profile">> ~/.bash_profile

2.更換Ruby鏡像--

淘寶的那個(gè)鏡像(https://ruby.taobao.org/ )已經(jīng)不可用了。官方的需要FQ。所以我們現(xiàn)在用最新支持的ruby鏡像(https://gems.ruby-china.com/) ---->我用的是這個(gè)
注:有的可以使用淘寶的源,也不報(bào)錯(cuò),具體原因未知,如無報(bào)錯(cuò)可繼續(xù)使用淘寶鏡像。
需要的命令行:

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
gem sources -l  (用來檢查使用替換鏡像位置成功)

出現(xiàn)

替換鏡像成功

則說明成功了。

3.下載安裝CocoaPods

在命令行中輸入:
安裝:

sudo gem install cocoapods```

不過有可能出錯(cuò),出錯(cuò)的話執(zhí)行下面的命令

sudo gem install -n /usr/local/bin cocoapods```

估計(jì)都會(huì)出錯(cuò)

更新:
sudo gem update cocoapods

安裝完成cocoapods

安裝----

在這里會(huì)很快就好了。。。網(wǎng)上教程說這樣就已經(jīng)完成安裝了。。但我試了一下,直接搜索一下。在終端中輸入:pod search AFNetworking。會(huì)出現(xiàn)“Setting up CocoaPods master repo“提示,而且很久一直不動(dòng),網(wǎng)上說因?yàn)闆]FQ的原因。但是我們已經(jīng)將bury鏡像已經(jīng)改了,為什么還會(huì)這樣呢?。還有一個(gè)原因是因?yàn)樵诤笈_(tái)下載,還沒下載完成,所以會(huì)這樣。
在這里我等了好久。通過新開一個(gè)終端窗口,輸入"cd ~/.cocoapods/"命令行跳到cocoapods文件夾內(nèi),執(zhí)行"du -sh *"查看文件夾的大小。發(fā)現(xiàn)一直是0。快崩潰了。
重頭再來。首先將ruby更新到最新(上邊方法)、將gem更新到最新、將cocoapods更新到最新。在將cocoapods更新到最新時(shí),查到需要執(zhí)行"pod setup",但是執(zhí)行這個(gè)時(shí)會(huì)出現(xiàn)一直是“Setting up CocoaPods master repo“,但是查看大小還是0。此外還會(huì)出現(xiàn)下面這個(gè)新的錯(cuò)誤:
[!] An error occurred while performing `git pull` on repo `master`.
[!] /usr/bin/git pull --ff-only
這個(gè)錯(cuò)誤應(yīng)該是說這個(gè)節(jié)點(diǎn)有問題。就又找資料,然后試試把cocoapods的節(jié)點(diǎn)刪除,重新添加一個(gè)節(jié)點(diǎn),或許就行,說干就干:

原因:

Cocoapods的分支不支持當(dāng)前最新的Xcode版本

解決辦法:

刪除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master

然后再: pod setup

注意 :按我的經(jīng)驗(yàn) 此時(shí)有兩種選擇

第一種 親測(cè)推薦已失效

按照[CocoaPods安裝、超詳細(xì)](http://www.itdecent.cn/p/1bb0ad42cb2e) 里面的做法,去[百度網(wǎng)盤](https://pan.baidu.com/s/1pL8gpYj) 訪問密碼 1ee5下載這個(gè)master文件在網(wǎng)盤上。 下載之后,直接拖到repos 文件夾里就可以了。簡(jiǎn)單粗暴

第二種:老老實(shí)實(shí)等他下載完成

在pod setup的過程中又是這個(gè)提示"Setting up CocoaPods master repo",當(dāng)時(shí)的感覺就快要砸電腦了,最后不死心去查看了一下cocoapods文件夾的大小。結(jié)果:
。。沒錯(cuò),沒有看錯(cuò),大小居然一直在增加。心懷激動(dòng)的慢慢等待。

大概是這么大

最終大小

過了大概十幾二十分鐘左右,pod setup這個(gè)操作成功了。
這樣,整個(gè)cocoapods安裝應(yīng)該成功了吧。我迫不及待的 想要試試。輸入"pod search AFNetworking" 居然有內(nèi)容出來。

pod search AFNetworking

PS: 如果發(fā)現(xiàn) pod search XXXXX 搜索出來的不是最新版本,需要在終端執(zhí)行 cd 轉(zhuǎn)換文件路徑命令退回到 Desktop,然后執(zhí)行 pod setup 命令更新本地 spec 緩存(可能需要幾分鐘), 然后再搜索就可以了.

然后按照之前的教程在終端中,cd到項(xiàng)目總目錄,先創(chuàng)建一個(gè)Project,然后創(chuàng)建一個(gè)single View Application到桌面,終端中輸入: cd+空格,把剛剛創(chuàng)建到桌面的文件夾拖到終端中,回車
建立Podfile(配置文件)
接著上一步,
終端輸入vim Podfile

鍵盤輸入 i,進(jìn)入編輯模式,輸入:

然后按Esc,并且輸入“ :”號(hào)進(jìn)入vim命令模式,然后在冒號(hào)后邊輸入wq

注意:鍵盤輸入 :后,才能輸入wq?;剀嚭蟀l(fā)現(xiàn)PodTest項(xiàng)目總目錄中多一個(gè)Podfile文件

podfile

激動(dòng)人心的時(shí)刻到了:確定終端cd到項(xiàng)目總目錄,然后輸入 pod install。。。然后你會(huì)發(fā)現(xiàn)。。。
注意 : 如果你是這樣寫的,

platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'```

可能會(huì)提示這個(gè)錯(cuò)誤:[!] The dependency `MBProgressHUD`isnot usedin any concrete target.
原來新的cocoapods不能像之前那樣安裝第三方了?,F(xiàn)在的格式是要加上項(xiàng)目的target。如下:

platform :ios,'8.0'
use_frameworks!
target'MyApp'do
pod 'AFNetworking','~> 3.0'
pod'SDWebImage','~>3.7.6'
end

里面的MyApp記得替換為自己工程里面的target。這樣就基本OK了,執(zhí)行pod install / pod update 就都可以了。

在使用 pod install 安裝第三方庫的時(shí)候可能會(huì)卡在 Updating local specs repositories

解決辦法把podinstall換成 podinstall--verbose --no-repo-update

成功

end:終于結(jié)束了??偨Y(jié):安裝過程出錯(cuò),則刪除并重新(更新)所有的需要的環(huán)境:(ruby、gem、cocoapods、其中包括cocoapods的節(jié)點(diǎn)),替換新的ruby鏡像即可。
// 9.27 更新 讀者給的建議 大家可以參考
下載最新的master(https://github.com/CocoaPods/Specs,最好用360下載有斷點(diǎn)續(xù)傳功能)然后按照上面步驟放進(jìn)repos中,這時(shí)可以pod reaserch AFN了,但是卻不能用pod install 。解決辦法就是把上述網(wǎng)盤中的master 中的 .git文件夾整個(gè)復(fù)制到,~/.cocoapods/新的master/文件夾下 。
cocoapods,參考的安裝流程:

http://www.cnblogs.com/guanshenbao/p/5534578.html#undefined__君少
CocoaPods安裝、超詳細(xì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容