这一篇是用Markdown 写的,梳理了一下排版。以前的文章改不成Markdown了。凑活吧,真扯淡,得水,走,去拉水去。
错误基本 cocoapods 升级版本到 1.0.0 所造成的
错误 1、
当写在 Podfile 文件中的第三方框架,不能使用,找不到时
查看 Pods 文件夹,是否下载了所需要的第三方框架,没有的话就 pod update
错误 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)的话,可能会有以下警告
[!] xcodeproj was renamed to `project`. Please use that from now on.
这时只需要把 xcodeproj 改为 project 就行了
project 'Demo/Demo.project'
错误 3、
The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
在 Podfile 中添加
target‘项目名'do (如 target'Demo' do)
错误 4、
[!] Invalid
Podfilefile: syntax error, unexpected end-of-input, expecting keyword_end.
在 Podfile 的末尾添加 end
错误 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'
错误 6、
build diff: /../Podfile.lock: No such file or directory
在工程设置中的 Build Phases 下删除 Check Pods Manifest.lock 及 Copy Pods Resources
错误 7、
还有一个更新慢的问题:无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级 CocoaPods 的 spec 仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
现在的cocoapods与之前比较,有很多不一样的地方。
因为现在cocoapods需要ruby>=2.2,所以:
1.首先查看ruby是否是最新版的。
查看当前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
等待一段时间后就可以成功安装好 RVM
source ~/.bashrc
source ~/.bash_profile```
测试是否安装正常
rvm -v```
![](http://upload-images.jianshu.io/upload_images/1761100-00020291e1940b59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)rvm安装完成
#####(2)用RVM升级Ruby
查看当前ruby版本ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),然后在终端需要中输入以下命令:
ruby -v
ruby 2.3.0```
列出已知的ruby版本 --找到最新的版本安装
rvm list known
安装ruby 2.3.0 这个你随意只要大于2.2就行
rvm install 2.3.0
注意:有时会出现错误 提示
Requirements installation failed with status: 1.
****原因:因Mac未安装Homebrew造成的****
解决方法:在命令行输入以下指令安装Homebrew或者进入官网找到最新的下载链接
Homebrew官网:http://brew.sh/index_zh-cn.html 或者
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
**注意2 有时WARNING: You have '~/.profile' file, you might want to load it,错误,可尝试命令行输入
echo"source ~/.profile">> ~/.bash_profile
2.更换Ruby镜像--
淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。官方的需要FQ。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.com/) ---->我用的是这个
注:有的可以使用淘宝的源,也不报错,具体原因未知,如无报错可继续使用淘宝镜像。
需要的命令行:
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
gem sources -l (用来检查使用替换镜像位置成功)
出现
替换镜像成功
则说明成功了。
3.下载安装CocoaPods
在命令行中输入:
安装:
sudo gem install cocoapods```
不过有可能出错,出错的话执行下面的命令
sudo gem install -n /usr/local/bin cocoapods```
估计都会出错
更新:
sudo gem update cocoapods
安装完成cocoapods
安装----
在这里会很快就好了。。。网上教程说这样就已经完成安装了。。但我试了一下,直接搜索一下。在终端中输入:pod search AFNetworking。会出现“Setting up CocoaPods master repo“提示,而且很久一直不动,网上说因为没FQ的原因。但是我们已经将bury镜像已经改了,为什么还会这样呢?。还有一个原因是因为在后台下载,还没下载完成,所以会这样。
在这里我等了好久。通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看文件夹的大小。发现一直是0。快崩溃了。
重头再来。首先将ruby更新到最新(上边方法)、将gem更新到最新、将cocoapods更新到最新。在将cocoapods更新到最新时,查到需要执行"pod setup",但是执行这个时会出现一直是“Setting up CocoaPods master repo“,但是查看大小还是0。此外还会出现下面这个新的错误:
[!] An error occurred while performing `git pull` on repo `master`.
[!] /usr/bin/git pull --ff-only
这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:
原因:
Cocoapods的分支不支持当前最新的Xcode版本
解决办法:
删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
然后再: pod setup
注意 :按我的经验 此时有两种选择
第一种 亲测推荐已失效
按照[CocoaPods安装、超详细](http://www.jianshu.com/p/1bb0ad42cb2e) 里面的做法,去[百度网盘](https://pan.baidu.com/s/1pL8gpYj) 访问密码 1ee5下载这个master文件在网盘上。 下载之后,直接拖到repos 文件夹里就可以了。简单粗暴
第二种:老老实实等他下载完成
在pod setup的过程中又是这个提示"Setting up CocoaPods master repo",当时的感觉就快要砸电脑了,最后不死心去查看了一下cocoapods文件夹的大小。结果:
。。没错,没有看错,大小居然一直在增加。心怀激动的慢慢等待。
大概是这么大
最终大小
过了大概十几二十分钟左右,pod setup这个操作成功了。
这样,整个cocoapods安装应该成功了吧。我迫不及待的 想要试试。输入"pod search AFNetworking" 居然有内容出来。
pod search AFNetworking
PS: 如果发现 pod search XXXXX 搜索出来的不是最新版本,需要在终端执行 cd 转换文件路径命令退回到 Desktop,然后执行 pod setup 命令更新本地 spec 缓存(可能需要几分钟), 然后再搜索就可以了.
然后按照之前的教程在终端中,cd到项目总目录,先创建一个Project,然后创建一个single View Application到桌面,终端中输入: cd+空格,把刚刚创建到桌面的文件夹拖到终端中,回车
建立Podfile(配置文件)
接着上一步,
终端输入vim Podfile
键盘输入 i,进入编辑模式,输入:
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
podfile
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install。。。然后你会发现。。。
注意 : 如果你是这样写的,
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'```
可能会提示这个错误:[!] The dependency `MBProgressHUD`isnot usedin any concrete target.
原来新的cocoapods不能像之前那样安装第三方了。现在的格式是要加上项目的target。如下:
platform :ios,'8.0'
use_frameworks!
target'MyApp'do
pod 'AFNetworking','~> 3.0'
pod'SDWebImage','~>3.7.6'
end
里面的MyApp记得替换为自己工程里面的target。这样就基本OK了,执行pod install / pod update 就都可以了。
在使用 pod install 安装第三方库的时候可能会卡在 Updating local specs repositories
解决办法把podinstall换成 podinstall--verbose --no-repo-update
成功
end:终于结束了。总结:安装过程出错,则删除并重新(更新)所有的需要的环境:(ruby、gem、cocoapods、其中包括cocoapods的节点),替换新的ruby镜像即可。
// 9.27 更新 读者给的建议 大家可以参考
下载最新的master(https://github.com/CocoaPods/Specs,最好用360下载有断点续传功能)然后按照上面步骤放进repos中,这时可以pod reaserch AFN了,但是却不能用pod install 。解决办法就是把上述网盘中的master 中的 .git文件夹整个复制到,~/.cocoapods/新的master/文件夹下 。
cocoapods,参考的安装流程:
http://www.cnblogs.com/guanshenbao/p/5534578.html#undefined(__君少)
CocoaPods安装、超详细